InterceptedClient class

Class to be used by the user to set up a new http.Client with interceptor support.

Call build() and pass list of interceptors as parameter.

Example:

 InterceptedClient client = InterceptedClient.build(interceptors: [
     LoggingInterceptor(),
 ]);

Then call the functions you want to, on the created client object.

 client.get(...);
 client.post(...);
 client.put(...);
 client.delete(...);
 client.head(...);
 client.patch(...);
 client.read(...);
 client.send(...);
 client.readBytes(...);
 client.close();

Don't forget to close the client once you are done, as a client keeps the connection alive with the server by default.

Inheritance

Constructors

InterceptedClient.build({required List<InterceptorContract> interceptors, Duration? requestTimeout, TimeoutCallback? onRequestTimeout, RetryPolicy? retryPolicy, Client? client})
Builds a new InterceptedClient instance.
factory

Properties

hashCode int
The hash code for this object.
no setterinherited
interceptors List<InterceptorContract>
List of interceptors that will be applied to the requests and responses.
final
onRequestTimeout TimeoutCallback?
Request timeout handler
getter/setter pair
requestTimeout Duration?
Maximum duration of a request.
getter/setter pair
retryPolicy RetryPolicy?
A policy that defines whether a request or response should trigger a retry. This is useful for implementing JWT token expiration
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

close() → void
Closes the client and cleans up any resources associated with it.
override
delete(Uri url, {Map<String, String>? headers, Map<String, dynamic>? params, Object? body, Encoding? encoding}) Future<Response>
Sends an HTTP DELETE request with the given headers to the given URL.
override
get(Uri url, {Map<String, String>? headers, Map<String, dynamic>? params}) Future<Response>
Sends an HTTP GET request with the given headers to the given URL.
override
Sends an HTTP HEAD request with the given headers to the given URL.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
patch(Uri url, {Map<String, String>? headers, Map<String, dynamic>? params, Object? body, Encoding? encoding}) Future<Response>
Sends an HTTP PATCH request with the given headers and body to the given URL.
override
post(Uri url, {Map<String, String>? headers, Map<String, dynamic>? params, Object? body, Encoding? encoding}) Future<Response>
Sends an HTTP POST request with the given headers and body to the given URL.
override
put(Uri url, {Map<String, String>? headers, Map<String, dynamic>? params, Object? body, Encoding? encoding}) Future<Response>
Sends an HTTP PUT request with the given headers and body to the given URL.
override
read(Uri url, {Map<String, String>? headers, Map<String, dynamic>? params}) 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.
override
readBytes(Uri url, {Map<String, String>? headers, Map<String, dynamic>? params}) 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.
override
send(BaseRequest request) Future<StreamedResponse>
Sends an HTTP request and asynchronously returns the response.
override
toString() String
A string representation of this object.
inherited

Operators

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