feat: add refresh token capability

This commit is contained in:
Ali BARIN
2022-11-17 23:14:48 +01:00
parent e3e8f570f8
commit 901605fd9c
3 changed files with 23 additions and 2 deletions

View File

@@ -39,7 +39,25 @@ export default function createHttpClient({
instance.interceptors.response.use(
(response) => response,
(error) => {
async (error) => {
const { config } = error;
const { status } = error.response;
if (status === 401 && $.app.auth.refreshAccessToken && config.additionalProperties.shouldRetry !== false) {
await $.app.auth.refreshAccessToken($);
// retry the request
const newResponse = await instance.request({
...config,
additionalProperties: {
...(config.additionalProperties || {}),
shouldRetry: false,
}
});
return newResponse;
}
throw new HttpError(error);
}
);