FetchClient class

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

This implementation has some restrictions:

  • BaseRequest.persistentConnection is translated to FetchOptions.keepalive (if streamRequests is disabled).
  • BaseRequest.contentLength is ignored.
  • When BaseRequest.followRedirects is true you can get redirect information via FetchResponse.redirected and FetchResponse.url). If BaseRequest.followRedirects is false redirectPolicy takes place and dictates FetchClient actions.
  • BaseRequest.maxRedirects is ignored.

Constructors

FetchClient({RequestMode mode = RequestMode.noCors, RequestCredentials credentials = RequestCredentials.sameOrigin, RequestCache cache = RequestCache.byDefault, String referrer = '', RequestReferrerPolicy referrerPolicy = RequestReferrerPolicy.strictOriginWhenCrossOrigin, String integrity = '', RedirectPolicy redirectPolicy = RedirectPolicy.alwaysFollow, bool streamRequests = false})

Properties

cache RequestCache
A string indicating how the request will interact with the browser's HTTP cache.
final
credentials RequestCredentials
Controls what browsers do with credentials (cookies, HTTP authentication entries, and TLS client certificates).
final
hashCode int
The hash code for this object.
no setterinherited
integrity String
Contains the subresource integrity value of the request (e.g.,sha256-BpfBw7ivV8q2jLiT13fxDYAe2tJllusRSZ273h2nFSE=)
final
mode RequestMode
The mode you want to use for the request
final
redirectPolicy RedirectPolicy
Client redirect policy, defines how client should handle BaseRequest.followRedirects.
final
referrer String
A string specifying the referrer of the request. This can be a same-origin URL, about:client, or an empty string.
final
referrerPolicy RequestReferrerPolicy
Specifies the referrer policy to use for the request.
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.
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