diff --git a/packages/backend/src/helpers/axios-with-proxy.js b/packages/backend/src/helpers/axios-with-proxy.js index f91fc83e..d5dc1ee2 100644 --- a/packages/backend/src/helpers/axios-with-proxy.js +++ b/packages/backend/src/helpers/axios-with-proxy.js @@ -54,12 +54,14 @@ export function createInstance(customConfig = {}, { requestInterceptor, response // not always we have custom request interceptors if (requestInterceptor) { instance.interceptors.request.use( - function customInterceptor(requestConfig) { - const result = requestInterceptor.reduce((newConfig, requestInterceptor) => { - return requestInterceptor(newConfig); - }, requestConfig); + async function customInterceptor(requestConfig) { + let newRequestConfig = requestConfig; - return result; + for (const interceptor of requestInterceptor) { + newRequestConfig = await interceptor(newRequestConfig); + } + + return newRequestConfig; } ); } @@ -84,7 +86,6 @@ export function createInstance(customConfig = {}, { requestInterceptor, response (error) => Promise.reject(error) ); - // not always we have custom response error interceptor if (responseErrorInterceptor) { instance.interceptors.response.use( diff --git a/packages/backend/src/helpers/axios-with-proxy.test.js b/packages/backend/src/helpers/axios-with-proxy.test.js index a96eaa92..9213dbdc 100644 --- a/packages/backend/src/helpers/axios-with-proxy.test.js +++ b/packages/backend/src/helpers/axios-with-proxy.test.js @@ -141,7 +141,7 @@ describe('Custom default axios with proxy', () => { const customInterceptor = requestInterceptors[1].fulfilled; expect(requestInterceptors.length).toBe(3); - expect(customInterceptor({})).toStrictEqual({ test: true }); + await expect(customInterceptor({})).resolves.toStrictEqual({ test: true }); }); it('should work with a custom interceptor setting a baseURL and a request to path', async () => { diff --git a/packages/backend/src/helpers/http-client/index.js b/packages/backend/src/helpers/http-client/index.js index 3a3c5a3a..7263603b 100644 --- a/packages/backend/src/helpers/http-client/index.js +++ b/packages/backend/src/helpers/http-client/index.js @@ -33,7 +33,7 @@ export default function createHttpClient({ $, baseURL, beforeRequest = [] }) { }, { requestInterceptor: beforeRequest.map((originalBeforeRequest) => { - return (requestConfig) => originalBeforeRequest($, requestConfig); + return async (requestConfig) => await originalBeforeRequest($, requestConfig); }), responseErrorInterceptor: interceptResponseError, }