HttpClientRequest class Null safety

HTTP request for a client connection.

To set up a request, set the headers using the headers property provided in this class and write the data to the body of the request. HttpClientRequest is an IOSink. Use the methods from IOSink, such as writeCharCode(), to write the body of the HTTP request. When one of the IOSink methods is used for the first time, the request header is sent. Calling any methods that change the header after it is sent throws an exception.

When writing string data through the IOSink the encoding used is determined from the "charset" parameter of the "Content-Type" header.

var client = HttpClient();
HttpClientRequest request = await client.get('localhost', 80, '/file.txt');
request.headers.contentType =
    ContentType('application', 'json', charset: 'utf-8');
request.write('text content👍🎯'); // Strings written will be UTF-8 encoded.

If no charset is provided the default of ISO-8859-1 (Latin 1) is used.

var client = HttpClient();
HttpClientRequest request = await client.get('localhost', 80, '/file.txt');
request.headers.add(HttpHeaders.contentTypeHeader, "text/plain");
request.write('blåbærgrød'); // Strings written will be ISO-8859-1 encoded

An exception is thrown if you use an unsupported encoding and the write() method being used takes a string parameter.

Implemented types

Constructors

HttpClientRequest()

Properties

bufferOutput bool
Gets or sets if the HttpClientRequest should buffer output. [...]
read / write
connectionInfo HttpConnectionInfo?
Gets information about the client connection. [...]
read-only
contentLength int
Gets and sets the content length of the request. [...]
read / write
cookies List<Cookie>
Cookies to present to the server (in the 'cookie' header).
read-only
done Future<HttpClientResponse>
A HttpClientResponse future that will complete once the response is available. [...]
read-only, override
encoding Encoding
The Encoding used when writing strings. [...]
read / write, inherited
followRedirects bool
Whether to follow redirects automatically. [...]
read / write
hashCode int
The hash code for this object. [...]
read-only, inherited
headers HttpHeaders
Returns the client request headers. [...]
read-only
maxRedirects int
Set this property to the maximum number of redirects to follow when followRedirects is true. If this number is exceeded an error event will be added with a RedirectException. [...]
read / write
method String
The method of the request.
read-only
persistentConnection bool
The requested persistent connection state. [...]
read / write
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited
uri Uri
The uri of the request.
read-only

Methods

abort([Object? exception, StackTrace? stackTrace]) → void
Aborts the client connection. [...]
@Since("2.10")
add(List<int> data) → void
Adds byte data to the target consumer, ignoring encoding. [...]
inherited
addError(Object error, [StackTrace? stackTrace]) → void
Passes the error to the target consumer as an error event. [...]
inherited
addStream(Stream<List<int>> stream) Future
Adds all elements of the given stream. [...]
inherited
close() Future<HttpClientResponse>
Close the request for input. Returns the value of done.
override
flush() Future
Returns a Future that completes once all buffered data is accepted by the underlying StreamConsumer. [...]
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
inherited
toString() String
A string representation of this object. [...]
inherited
write(Object? object) → void
Converts object to a String by invoking Object.toString and adds the encoding of the result to the target consumer. [...]
inherited
writeAll(Iterable objects, [String separator = ""]) → void
Iterates over the given objects and writes them in sequence. [...]
inherited
writeCharCode(int charCode) → void
Writes the character of charCode. [...]
inherited
writeln([Object? object = ""]) → void
Converts object to a String by invoking Object.toString and writes the result to this, followed by a newline. [...]
inherited

Operators

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