mirror of
https://github.com/d-fi/d-fi-core.git
synced 2025-07-23 05:35:06 +02:00
fix(request): Refresh token on Invalid CSRF token
This commit is contained in:
parent
41e8137c0d
commit
9e7f26007f
@ -54,6 +54,8 @@ export const initDeezerApi = async (arl: string): Promise<string> => {
|
|||||||
return data.results.SESSION;
|
return data.results.SESSION;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let token_retry = 0;
|
||||||
|
|
||||||
// Add a request interceptor
|
// Add a request interceptor
|
||||||
instance.interceptors.response.use(async (response: Record<string, any>) => {
|
instance.interceptors.response.use(async (response: Record<string, any>) => {
|
||||||
if (response.data.error && Object.keys(response.data.error).length > 0) {
|
if (response.data.error && Object.keys(response.data.error).length > 0) {
|
||||||
@ -63,8 +65,10 @@ instance.interceptors.response.use(async (response: Record<string, any>) => {
|
|||||||
} else if (response.data.error.code === 4) {
|
} else if (response.data.error.code === 4) {
|
||||||
await delay.range(1000, 1500);
|
await delay.range(1000, 1500);
|
||||||
return await instance(response.config);
|
return await instance(response.config);
|
||||||
} else if (response.data.error.GATEWAY_ERROR) {
|
} else if (response.data.error.GATEWAY_ERROR || (response.data.error.VALID_TOKEN_REQUIRED && token_retry < 15)) {
|
||||||
getApiToken();
|
await getApiToken();
|
||||||
|
// Prevent dead loop
|
||||||
|
token_retry += 1;
|
||||||
return await instance(response.config);
|
return await instance(response.config);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user