Enum hyper::http::h1::HttpReader[][src]

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

A Reader used when a Content-Length header is passed with a positive integer.

A Reader used when Transfer-Encoding is chunked.

A Reader used for responses that don't indicate a length or chunked.

Note: This should only used for Responses. 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.

A Reader used for messages that should never have a body.

See https://tools.ietf.org/html/rfc7230#section-3.3.3

Methods

impl<R: Read> HttpReader<R>
[src]

Unwraps this HttpReader and returns the underlying Reader.

Important traits for &'a mut R

Gets a borrowed reference to the underlying Reader.

Important traits for &'a mut R

Gets a mutable reference to the underlying Reader.

Trait Implementations

impl<R> Debug for HttpReader<R>
[src]

Formats the value using the given formatter. Read more

impl<R: Read> Read for HttpReader<R>
[src]

Pull some bytes from this source into the specified buffer, returning how many bytes were read. Read more

🔬 This is a nightly-only experimental API. (read_initializer)

Determines if this Reader can work with buffers of uninitialized memory. Read more

Read all bytes until EOF in this source, placing them into buf. Read more

Read all bytes until EOF in this source, appending them to buf. Read more

Read the exact number of bytes required to fill buf. Read more

Important traits for &'a mut R

Creates a "by reference" adaptor for this instance of Read. Read more

Important traits for Bytes<R>

Transforms this Read instance to an [Iterator] over its bytes. Read more

Important traits for Chars<R>

Deprecated since 1.27.0

: Use str::from_utf8 instead: https://doc.rust-lang.org/nightly/std/str/struct.Utf8Error.html#examples

🔬 This is a nightly-only experimental API. (io)

the semantics of a partial read/write of where errors happen is currently unclear and may change

Transforms this Read instance to an [Iterator] over [char]s. Read more

Important traits for Chain<T, U>

Creates an adaptor which will chain this stream with another. Read more

Important traits for Take<T>

Creates an adaptor which will read at most limit bytes from it. Read more

Auto Trait Implementations

impl<R> Send for HttpReader<R> where
    R: Send

impl<R> Sync for HttpReader<R> where
    R: Sync