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 toFetchOptions.keepalive
(if streamRequests is disabled).BaseRequest.contentLength
is ignored.- When
BaseRequest.followRedirects
istrue
you can get redirect information via FetchResponse.redirected and FetchResponse.url). IfBaseRequest.followRedirects
isfalse
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
-
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< 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