Select Git revision
axios-basic.ts

Benedikt Heinrichs authored
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 clientCorrolationIdKey = '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.clientcorrolation !== "undefined") {
request.headers.common[clientCorrolationIdKey] = coscine.clientcorrolation.id;
}
}
};
instance.interceptors.request.use((request: AxiosRequestConfig) => {
setHeader(request);
if ((typeof coscine !== "undefined") && (typeof coscine.loading !== "undefined") && (typeof coscine.loading.counter !== "undefined")) {
coscine.loading.counter++;
}
return request;
}, (error: unknown) => {
return Promise.reject(error);
});
instance.interceptors.response.use((response: AxiosRequestConfig) => {
if ((typeof coscine !== "undefined") && (typeof coscine.loading !== "undefined") && (typeof coscine.loading.counter !== "undefined")) {
coscine.loading.counter--;
}
return response;
}, (error: unknown) => {
if ((typeof coscine !== "undefined") && (typeof coscine.loading !== "undefined") && (typeof coscine.loading.counter !== "undefined")) {
coscine.loading.counter--;
}
return Promise.reject(error);
});
export default instance;