pub enum HttpReader<R> {
SizedReader(R, u64),
ChunkedReader(R, Option<u64>),
EofReader(R),
EmptyReader(R),
}
Readers to handle different Transfer-Encodings.
If a message body does not include a Transfer-Encoding, it should
include a Content-Length header.
Variants
SizedReader | A Reader used when a Content-Length header is passed with a positive integer.
|
ChunkedReader | A Reader used when Transfer-Encoding is chunked .
|
EofReader | A Reader used for responses that don't indicate a length or chunked.
Note: This should only used for Response s. It is illegal for a
Request to be made with both Content-Length and
Transfer-Encoding: chunked missing, as explained from the spec:
If a Transfer-Encoding header field is present in a response and
the chunked transfer coding is not the final encoding, the
message body length is determined by reading the connection until
it is closed by the server. If a Transfer-Encoding header field
is present in a request and the chunked transfer coding is not
the final encoding, the message body length cannot be determined
reliably; the server MUST respond with the 400 (Bad Request)
status code and then close the connection.
|
EmptyReader | |
Methods
Unwraps this HttpReader and returns the underlying Reader.
Trait Implementations