pub enum TransferCoding {
Eof,
Corrupted,
Length(u64),
DecodeChunked {
state: ChunkedState,
size: u64,
trailers: Trailers,
},
EncodeChunked,
Upgrade,
}Expand description
Coder for different Transfer-Decoding/Transfer-Encoding.
Variants§
Eof
Default coder indicates the Request/Response have successfully code it’s associated body.
Corrupted
Corrupted coder that can not be used anymore.
Length(u64)
Coder used when a Content-Length header is passed with a positive integer.
DecodeChunked
Decoder used when Transfer-Encoding is chunked.
EncodeChunked
Encoder for when Transfer-Encoding includes chunked.
Upgrade
Upgrade type coder that pass through body as is without transforming.
Implementations§
Source§impl TransferCoding
impl TransferCoding
pub const fn eof() -> Self
pub const fn length(len: u64) -> Self
pub fn decode_chunked(header_limit: usize) -> Self
pub const fn encode_chunked() -> Self
pub const fn upgrade() -> Self
Sourcepub fn is_eof(&self) -> bool
pub fn is_eof(&self) -> bool
Check if Self is in EOF state. An EOF state means TransferCoding is ended gracefully and can not decode any value. See TransferCoding::decode for detail.
pub fn is_upgrade(&self) -> bool
Source§impl TransferCoding
impl TransferCoding
pub fn try_set(&mut self, other: Self) -> Result<(), ProtoError>
pub fn set_eof(&mut self)
pub fn set_corrupted(&mut self)
Sourcepub fn encode<W>(&mut self, bytes: Bytes, buf: &mut W)where
W: H1BufWrite,
pub fn encode<W>(&mut self, bytes: Bytes, buf: &mut W)where
W: H1BufWrite,
Encode message. Return EOF state of encoder
Sourcepub fn encode_eof<W>(&mut self, trailers: Option<HeaderMap>, buf: &mut W)where
W: H1BufWrite,
pub fn encode_eof<W>(&mut self, trailers: Option<HeaderMap>, buf: &mut W)where
W: H1BufWrite,
Encode eof with optional trailer headers.
For chunked encoding, forbidden trailer fields (per RFC 9110) are silently filtered out.
Sourcepub fn decode(&mut self, src: &mut BytesMut) -> ChunkResult
pub fn decode(&mut self, src: &mut BytesMut) -> ChunkResult
decode body. See ChunkResult for detailed outcome.
Trait Implementations§
Source§impl Clone for TransferCoding
impl Clone for TransferCoding
Source§fn clone(&self) -> TransferCoding
fn clone(&self) -> TransferCoding
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more