Select Git revision
axios-basic.ts
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
axios-basic.ts 1.43 KiB
import axios, { AxiosRequestConfig } from "axios";
const instance = axios.create();
const authHeaderKey = 'Authorization';
const clientCorrelationIdKey = 'X-Coscine-Logging-CorrelationId';
function setHeader(request: AxiosRequestConfig) {
if (typeof coscine !== "undefined") {
if (typeof coscine.authorization !== "undefined") {
request.headers.common[authHeaderKey] =
'Bearer ' + coscine.authorization.bearer;
}
if (typeof coscine.clientcorrelation !== "undefined") {
request.headers.common[clientCorrelationIdKey] = coscine.clientcorrelation.id;
}
}
if (typeof window !== 'undefined') {
// LocalStorage > Global Variables
const localStorageToken = localStorage.getItem("coscine.authorization.bearer");
if (localStorageToken) {
request.headers.common[authHeaderKey] =
'Bearer ' + localStorageToken;
}
const localStorageClientCorrelation = localStorage.getItem("coscine.clientcorrelation.id");
if (localStorageClientCorrelation) {
request.headers.common[clientCorrelationIdKey] = localStorageClientCorrelation;
}
}
};
instance.interceptors.request.use((request: AxiosRequestConfig) => {
setHeader(request);
return request;
}, (error: unknown) => {
return Promise.reject(error);
});
instance.interceptors.response.use((response: AxiosRequestConfig) => {
return response;
}, (error: unknown) => {
return Promise.reject(error);
});
export default instance;