A composable, Future-based library for making HTTP requests.

Classes

BaseClient
The abstract base class for an HTTP client. This is a mixin-style class; subclasses only need to implement send and maybe close, and then they get various convenience methods for free.
BaseRequest
The base class for HTTP requests. [...]
BaseResponse
The base class for HTTP responses. [...]
ByteStream
A stream of chunks of bytes representing a single piece of data.
Client
The interface for HTTP clients that take care of maintaining persistent connections across multiple requests to the same server. If you only need to send a single request, it's usually easier to use head, get, post, put, patch, or delete instead. [...]
IOClient
A dart:io-based HTTP client. [...]
MultipartFile
A file to be uploaded as part of a MultipartRequest. This doesn't need to correspond to a physical file.
MultipartRequest
A multipart/form-data request. Such a request has both string fields, which function as normal form fields, and (potentially streamed) binary files. [...]
Request
An HTTP request where the entire request body is known in advance.
Response
An HTTP response where the entire response body is known in advance.
StreamedRequest
An HTTP request where the request body is sent asynchronously after the connection has been established and the headers have been sent. [...]
StreamedResponse
An HTTP response where the response body is received asynchronously after the headers have been received.

Functions

delete(url, { Map<String, String> headers }) Future<Response>
Sends an HTTP DELETE request with the given headers to the given URL, which can be a Uri or a String. [...]
get(url, { Map<String, String> headers }) Future<Response>
Sends an HTTP GET request with the given headers to the given URL, which can be a Uri or a String. [...]
Sends an HTTP HEAD request with the given headers to the given URL, which can be a Uri or a String. [...]
patch(url, { Map<String, String> headers, body, Encoding encoding }) Future<Response>
Sends an HTTP PATCH request with the given headers and body to the given URL, which can be a Uri or a String. [...]
post(url, { Map<String, String> headers, body, Encoding encoding }) Future<Response>
Sends an HTTP POST request with the given headers and body to the given URL, which can be a Uri or a String. [...]
put(url, { Map<String, String> headers, body, Encoding encoding }) Future<Response>
Sends an HTTP PUT request with the given headers and body to the given URL, which can be a Uri or a String. [...]
read(url, { Map<String, String> headers }) Future<String>
Sends an HTTP GET request with the given headers to the given URL, which can be a Uri or a String, and returns a Future that completes to the body of the response as a String. [...]
readBytes(url, { Map<String, String> headers }) Future<Uint8List>
Sends an HTTP GET request with the given headers to the given URL, which can be a Uri or a String, and returns a Future that completes to the body of the response as a list of bytes. [...]

Exceptions / Errors

ClientException
An exception caused by an error in a pkg/http client.