feat(http-client): support async beforeRequest interceptors

This commit is contained in:
Ali BARIN
2024-07-27 13:02:00 +00:00
parent 52c0c5e0c5
commit be4493710f
3 changed files with 9 additions and 8 deletions

View File

@@ -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(