mirror of
https://github.com/d-fi/d-fi-core.git
synced 2025-07-22 21:24:58 +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;
|
||||
};
|
||||
|
||||
let token_retry = 0;
|
||||
|
||||
// Add a request interceptor
|
||||
instance.interceptors.response.use(async (response: Record<string, any>) => {
|
||||
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) {
|
||||
await delay.range(1000, 1500);
|
||||
return await instance(response.config);
|
||||
} else if (response.data.error.GATEWAY_ERROR) {
|
||||
getApiToken();
|
||||
} else if (response.data.error.GATEWAY_ERROR || (response.data.error.VALID_TOKEN_REQUIRED && token_retry < 15)) {
|
||||
await getApiToken();
|
||||
// Prevent dead loop
|
||||
token_retry += 1;
|
||||
return await instance(response.config);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user