defaultClient static method

dynamic defaultClient({
  1. Duration? maxAge,
  2. void onRefreshToken(
    1. Map<String, String> tokens
    )?,
  3. String? refreshTokenMethod,
  4. String refreshTokenUrl(
    1. String token,
    2. JWT decodedToken
    )?,
  5. required SharedPreferences sharedPreferences,
  6. FutureOr<Map<String, String>> customRefreshTokenRequestBodyMapper(
    1. String refreshToken,
    2. String authToken
    )?,
  7. FutureOr<Map<String, String>> customRefreshTokenResponseParser(
    1. String body
    )?,
  8. Duration? refreshTokenTimeout,
  9. void onRefreshTokenFailure(
    1. String token,
    2. Object exception
    )?,
  10. FutureOr<Map<String, String>> customRefreshTokenCallback(
    1. String token,
    2. String? refreshToken
    )?,
})

Implementation

static defaultClient({
  Duration? maxAge,
  void Function(Map<String, String> tokens)? onRefreshToken,
  String? refreshTokenMethod,
  String Function(String token, JWT decodedToken)? refreshTokenUrl,
  required SharedPreferences sharedPreferences,
  FutureOr<Map<String, String>> Function(String refreshToken, String authToken)? customRefreshTokenRequestBodyMapper,
  FutureOr<Map<String, String>> Function(String body)? customRefreshTokenResponseParser,
  Duration? refreshTokenTimeout,
  void Function(String token, Object exception)? onRefreshTokenFailure,

  /// This Callback is called whenever a refresh token is needed, this a way to implement any custom logic
  /// if user wants to call a 3rd part SDK in order to gain the new token, etc
  FutureOr<Map<String, String>> Function(String token, String? refreshToken)? customRefreshTokenCallback,
}) {
  return HttpClientImpl.defaultClient(
    sharedPreferences: sharedPreferences,
    maxAge: maxAge,
    onRefreshToken: (tokens) {
      _authRefreshEventsController.add(
        right(
          RefreshTokenSuccess(tokens: tokens),
        ),
      );
      onRefreshToken?.call(tokens);
    },
    refreshTokenMethod: refreshTokenMethod,
    refreshTokenUrl: refreshTokenUrl,
    customRefreshTokenRequestBodyMapper: customRefreshTokenRequestBodyMapper,
    customRefreshTokenResponseParser: customRefreshTokenResponseParser,
    refreshTokenTimeout: refreshTokenTimeout,
    onRefreshTokenFailure: (token, exception) {
      _authRefreshEventsController.add(
        left(
          RefreshTokenFailure(token: token, exception: exception),
        ),
      );
      onRefreshTokenFailure?.call(token, exception);
    },
    customRefreshTokenCallback: customRefreshTokenCallback,
  );
}