You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
spa_instat_tv/src/helpers/callApi/getRequestConfig.tsx

35 lines
763 B

import isString from 'lodash/isString'
import { loadIdToken } from './loadIdToken'
import { TRequestAbortController, TRequestConfig } from './types'
export const getRequestConfig = (
config: TRequestConfig,
abortController?: TRequestAbortController,
) => {
const requestConfig = {
method: 'POST',
...config,
headers: new Headers(),
}
if (config.body && !isString(config.body)) {
requestConfig.body = JSON.stringify(config.body)
}
if (config.body) {
requestConfig.headers.set('Content-Type', 'application/json')
}
if (abortController) {
requestConfig.signal = abortController.signal
}
const token = loadIdToken()
if (token) {
requestConfig.headers.set('x-auth-token', token)
}
return requestConfig
}