CodingAleCR / http_interceptor

A lightweight, simple plugin that allows you to intercept request and response objects and modify them if desired.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

refreshToken called multiple times

heshesh2010 opened this issue · comments

Hi ,

I call many api at same time , but I see when token expire I got 401 , so it's goes to refresh token and retry , but in the same time the other api request in queue gets called and try to refresh the token again , so refresh api return 422 error . so it should only calling only once .

so how to pause the all other apis request until the token it gets refreshed ?

using http_interceptor: ^2.0.0-beta.7

`

  @override
  Future<bool> shouldAttemptRetryOnResponse(BaseResponse response) async {
    if (response.statusCode == 401) {
      print('Retrying request...');
      // final cache = await SharedPreferences.getInstance();

      // cache.setString(kOWApiToken, kOpenWeatherApiKey);

      AuthController authController = Get.put(AuthController());
      authController.refreshToken();

      return true;
    }

    return false;
  }

`

Hi, this PR #96 seems to solve your problem.
Unfortunately, it does not seem to be abandoned.