FetchClient class

HTTP client based on Fetch API. It does support streaming and can handle non 200 responses.

This implementation has some restrictions:

Constructors

FetchClient({RequestMode mode = RequestMode.noCors, RequestCredentials credentials = RequestCredentials.sameOrigin, RequestCache cache = RequestCache.byDefault, String referrer = '', RequestReferrerPolicy referrerPolicy = RequestReferrerPolicy.strictOriginWhenCrossOrigin, RedirectPolicy redirectPolicy = RedirectPolicy.alwaysFollow, bool streamRequests = false})
Create new HTTP client based on Fetch API.

Properties

cache → RequestCache
The default cache mode which controls how requests will interact with the browser's HTTP cache.
final
credentials → RequestCredentials
The default credentials mode, defines what browsers do with credentials (cookies, HTTP authentication entries, and TLS client certificates).
final
hashCode → int
The hash code for this object.
no setterinherited
mode → RequestMode
The default request mode.
final
redirectPolicy → RedirectPolicy
The default redirect policy, defines how client should handle BaseRequest.followRedirects.
final
referrer → String
The default referrer. This can be a same-origin URL, about:client, or an empty string.
final
referrerPolicy → RequestReferrerPolicy
The default referrer policy.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
streamRequests → bool
Whether to use ReadableStream as body for requests streaming.
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.
inherited
get(Uri url, {Map<String, String>? headers}) → Future<Response>
Sends an HTTP GET request with the given headers to the given URL.
inherited
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<FetchResponse>
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