Skip to content
Snippets Groups Projects
Verified Commit 5f7a08f5 authored by Defendi Alberto's avatar Defendi Alberto
Browse files

Move axios config and setup interceptor.

parent 33d60b15
No related branches found
No related tags found
2 merge requests!69Possibility to insert a reservation and new docs.,!62Set up axios middleware.
import axios from 'axios';
/**
* Config for django compatibility.
*/
export const configDjangoCookieName = (): void => {
axios.defaults.xsrfHeaderName = 'X-CSRFTOKEN';
axios.defaults.xsrfCookieName = 'csrftoken';
axios.defaults.withCredentials = true;
};
import axios, { AxiosRequestConfig, AxiosResponse } from 'axios';
import { camelizeKeys, decamelizeKeys } from 'humps';
export const configureInterceptors = (): void => {
// Axios middleware to convert all api responses to camelCase
axios.interceptors.response.use((response: AxiosResponse) => {
if (
response.data &&
response.headers['content-type'] === 'application/json'
) {
response.data = camelizeKeys(response.data);
}
return response;
});
// Axios middleware to convert all api requests to snake_case
axios.interceptors.request.use((config: AxiosRequestConfig) => {
const newConfig = { ...config };
if (config.data) {
newConfig.data = decamelizeKeys(config.data);
}
return newConfig;
});
};
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment