#[repr(u32)]pub enum FramingHeadersMode {
Automatic = 0,
ManuallyFromHeaders = 1,
}
Expand description
Determines how the framing headers (Content-Length
/Transfer-Encoding
) are set for a
request or response.
Variants§
Automatic = 0
Determine the framing headers automatically based on the message body, and discard any framing headers already set in the message. This is the default behavior.
In automatic mode, a Content-Length
is used when the size of the body can be determined
before it is sent. Requests/responses sent in streaming mode, where headers are sent immediately
but the content of the body is streamed later, will receive a Transfer-Encoding: chunked
to accommodate the dynamic generation of the body.
ManuallyFromHeaders = 1
Use the exact framing headers set in the message, falling back to Automatic
if invalid.
In “from headers” mode, any Content-Length
or Transfer-Encoding
headers will be honored.
You must ensure that those headers have correct values permitted by the
HTTP/1.1 specification. If the provided headers are not permitted by the spec,
the headers will revert to automatic mode and a log diagnostic will be issued about what was
wrong. If a Content-Length
is permitted by the spec, but the value doesn’t match the size of
the actual body, the body will either be truncated (if it is too long), or the connection will
be hung up early (if it is too short).
Trait Implementations§
Source§impl Clone for FramingHeadersMode
impl Clone for FramingHeadersMode
Source§fn clone(&self) -> FramingHeadersMode
fn clone(&self) -> FramingHeadersMode
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more