access function

HttpMiddleware access()

Middleware that handles access token authentication.

This middleware:

  • Adds stored access tokens to requests via Authorization header
  • Updates stored access tokens from response headers
  • Automatically manages token refresh

Returns an HttpMiddleware function.

Example

final client = HttpClient(http.Client())
  .use([access()]);

Implementation

HttpMiddleware access() => (http.BaseRequest request, next) async {
  final values = await aggregateAccess();
  request.headers.addAll(values);

  final response = await next(request);

  final refreshAccessToken = response.headers["X-Calljmp-Access-Token"];
  if (refreshAccessToken != null) {
    await CalljmpStore.instance.put(
      CalljmpStoreKey.accessToken,
      refreshAccessToken,
    );
  }

  return response;
};