HttpAuthClient class

Constructors

HttpAuthClient({Client? client, required SharedPreferences sharedPreferences, String refreshTokenUrl(String token, JWT decodedToken)?, FutureOr<Map<String, String>> customRefreshTokenResponseParser(String body)?, String? refreshTokenMethod, Duration? maxAge, Duration? refreshTokenTimeout, FutureOr<Map<String, String>> customRefreshTokenRequestBodyFieldsMapper(String refreshToken, String authToken)?, FutureOr<String> customRefreshTokenRequestBodyMapper(String refreshToken, String authToken)?, void onRefreshToken(Map<String, String> tokens)?, void onRefreshTokenFailure(String token, Object exception)?, FutureOr<Map<String, String>> customRefreshTokenCallback(String token, String? refreshToken)?, Future<Request> customRefreshTokenRequestWrapper(Request request)?})

Properties

customRefreshTokenCallback FutureOr<Map<String, String>> Function(String token, String? refreshToken)?
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
final
customRefreshTokenRequestBodyMapper FutureOr<String> Function(String refreshToken, String authToken)?
Provide a function to be used in order to use/pass the refresh token to the API endpoint using Client.body
getter/setter pair
customRefreshTokenRequestWrapper Future<Request> Function(Request request)?
Provides a way to customize the http.Request before being "send", here you can set new fields or custom headers, maybe change the Method
final
hashCode int
The hash code for this object.
no setterinherited
onRefreshToken → void Function(Map<String, String> tokens)?
This Callback is called whenever a refresh token have been successfully retrieved It provides access to the retrieved tokens
final
onRefreshTokenFailure → void Function(String token, Object exception)?
This Callback is called whenever a refresh token fail to be retrieved It provides access to the refresh token used & the exception raised
final
refreshTokenMethod String
Defines the 'http' (POST, PUT, etc) method to be used when requesting a new token to the API defaults to 'POST'
getter/setter pair
refreshTokenRequestBodyFieldsMapper FutureOr<Map<String, String>> Function(String refreshToken, String authToken)
Provide a function to be used in order to use/pass the refresh token to the API endpoint using Client.bodyFields
getter/setter pair
refreshTokenResponseParser FutureOr<Map<String, String>> Function(String body)
Defines a custom function to parse the response of your refresh token API, you must return an object with "refreshToken" and "authToken", so it can replace your current session one Example { "auth-token": "YourParsedAuthToken", "auth-refresh-token": "YourParsedRefreshToken" }
getter/setter pair
refreshTokenTimeout Duration
Define a custom period to wait for the refresh token API, after defined period if no response the API call waiting for the token will throw
getter/setter pair
refreshTokenUrl String Function(String token, JWT decodedToken)?
Defines a function to get the URL in which a new token can be requested Defining this property activates the 'refreshToken' mechanism
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
sharedPreferences → SharedPreferences
final

Methods

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.
get(Uri url, {Map<String, String>? headers}) Future<Response>
Sends an HTTP GET request with the given headers to the given URL.
Sends an HTTP HEAD request with the given headers to the given URL.
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.
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.
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.
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.
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.
send(BaseRequest request) Future<StreamedResponse>
Sends an HTTP request and asynchronously returns the response.
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited