AuthenticatedHttpClient class
An HTTP client wrapper that transparently injects bearer tokens and handles automatic token refresh.
This client is passed to BappApiClient as its httpClient parameter,
so all API requests get auth headers and token management automatically.
Features:
- Dynamic bearer token injection on every request
- Proactive token refresh when tokens are expiring soon
- Automatic retry on 498 (Token Expired) responses
- Concurrent refresh prevention with a lock
Constructors
- AuthenticatedHttpClient({Client? inner})
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- hasToken → bool
-
Whether a valid token is currently set.
no setter
- onAuthRequired ↔ OnAuthRequiredFn?
-
Called when token refresh fails and the user must re-authenticate.
getter/setter pair
- onRefreshToken ↔ TokenRefreshFn?
-
Called when a token refresh is needed.
getter/setter pair
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
clearToken(
) → void - Clear the current token. Called on logout.
-
close(
) → void - Closes the client and cleans up any resources associated with it.
-
delete(
Uri url, {Map< String, String> ? headers, Object? body, Encoding? encoding}) → Future<Response> -
Sends an HTTP DELETE request with the given headers to the given URL.
inherited
-
get(
Uri url, {Map< String, String> ? headers}) → Future<Response> -
Sends an HTTP GET request with the given headers to the given URL.
inherited
-
head(
Uri url, {Map< String, String> ? headers}) → Future<Response> -
Sends an HTTP HEAD request with the given headers to the given URL.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
patch(
Uri url, {Map< String, String> ? headers, Object? body, Encoding? encoding}) → Future<Response> -
Sends an HTTP PATCH request with the given headers and body to the given
URL.
inherited
-
post(
Uri url, {Map< String, String> ? headers, Object? body, Encoding? encoding}) → Future<Response> -
Sends an HTTP POST request with the given headers and body to the given
URL.
inherited
-
put(
Uri url, {Map< String, String> ? headers, Object? body, Encoding? encoding}) → Future<Response> -
Sends an HTTP PUT request with the given headers and body to the given
URL.
inherited
-
read(
Uri url, {Map< String, String> ? headers}) → Future<String> -
Sends an HTTP GET request with the given headers to the given URL and
returns a Future that completes to the body of the response as a String.
inherited
-
readBytes(
Uri url, {Map< String, String> ? headers}) → Future<Uint8List> -
Sends an HTTP GET request with the given headers to the given URL and
returns a Future that completes to the body of the response as a list of
bytes.
inherited
-
send(
BaseRequest request) → Future< StreamedResponse> - Sends an HTTP request and asynchronously returns the response.
-
toString(
) → String -
A string representation of this object.
inherited
-
updateToken(
TokenResponse token) → void - Update the current token. Called after login or refresh.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited