1
0
mirror of https://github.com/sasjs/adapter.git synced 2025-12-11 09:24:35 +00:00

fix(*): support multipart form data post

This commit is contained in:
Krishna Acondy
2021-02-05 11:10:57 +00:00
parent a5683bcd07
commit 23f8d31b1b
2 changed files with 22 additions and 7 deletions

View File

@@ -20,6 +20,7 @@ import { Logger, LogLevel } from '@sasjs/utils/logger'
import { isAuthorizeFormRequired } from './auth/isAuthorizeFormRequired'
import { RequestClient } from './request/RequestClient'
import { NotFoundError } from './types/NotFoundError'
import { SasAuthResponse } from '@sasjs/utils/types'
/**
* A client for interfacing with the SAS Viya REST API.
@@ -693,7 +694,13 @@ export class SASViyaApiClient {
}
const authResponse = await this.requestClient
.post(url, formData, undefined, 'application/json', headers)
.post<SasAuthResponse>(
url,
formData,
undefined,
'multipart/form-data; boundary=' + (formData as any)._boundary,
headers
)
.then((res) => res.result)
return authResponse
@@ -733,7 +740,13 @@ export class SASViyaApiClient {
}
const authResponse = await this.requestClient
.post(url, formData, undefined, 'application/json', headers)
.post<SasAuthResponse>(
url,
formData,
undefined,
'multipart/form-data; boundary=' + (formData as any)._boundary,
headers
)
.then((res) => res.result)
return authResponse

View File

@@ -270,14 +270,16 @@ export class RequestClient implements HttpClient {
accessToken: string | undefined,
contentType: string
) => {
const headers: any = {
'Content-Type': contentType
const headers: any = {}
if (contentType !== 'application/x-www-form-urlencoded') {
headers['Content-Type'] = contentType
}
if (contentType === 'text/plain') {
headers.Accept = '*/*'
} else {
if (contentType === 'application/json') {
headers.Accept = 'application/json'
} else {
headers.Accept = '*/*'
}
if (accessToken) {
headers.Authorization = `Bearer ${accessToken}`