Skip to main content

Http1Options

Struct Http1Options 

Source
pub struct Http1Options { /* private fields */ }
Expand description

Configuration options for the HTTP/1.x connection handler.

Use the builder-style methods to customise behaviour, then pass the finished value to Http1::new.

§Examples

let options = Http1Options::new()
    .max_header_size(8192)
    .send_date_header(false)
    .header_read_timeout(Some(std::time::Duration::from_secs(10)));

Implementations§

Source§

impl Http1Options

Source

pub fn new() -> Self

Available on crate feature h1 only.

Creates a new Http1Options with the following defaults:

OptionDefault
max_header_size16 384 bytes
max_header_count128
send_date_headertrue
header_read_timeout30 seconds
send_continue_responsetrue
enable_early_hintsfalse
enable_vectored_writetrue
Source

pub fn max_header_size(self, size: usize) -> Self

Available on crate feature h1 only.

Sets the maximum number of bytes that may be read while parsing the request head (status line + headers).

Requests whose head exceeds this limit are rejected with an InvalidData I/O error. Defaults to 16 384 bytes.

Source

pub fn max_header_count(self, count: usize) -> Self

Available on crate feature h1 only.

Sets the maximum number of headers that will be parsed per request.

Headers beyond this count are silently ignored by the underlying httparse parser. Defaults to 128.

Source

pub fn send_date_header(self, send: bool) -> Self

Available on crate feature h1 only.

Controls whether a Date header is automatically added to every response.

The value is cached and refreshed at most once per second. Defaults to true.

Source

pub fn enable_vectored_write(self, enable: bool) -> Self

Available on crate feature h1 only.

Controls whether vectored I/O (write_vectored) is used when writing responses.

When the underlying stream does not support vectored writes the implementation falls back to a flattened write regardless of this setting. Defaults to true.

Source

pub fn header_read_timeout(self, timeout: Option<Duration>) -> Self

Available on crate feature h1 only.

Sets the timeout for reading the complete request head.

If the client does not send a full set of request headers within this duration the connection is closed with a 408 Request Timeout response. Pass None to disable the timeout entirely. Defaults to 30 seconds.

Source

pub fn send_continue_response(self, send: bool) -> Self

Available on crate feature h1 only.

Controls whether a 100 Continue interim response is sent when the request contains an Expect: 100-continue header.

Defaults to true.

Source

pub fn enable_early_hints(self, enable: bool) -> Self

Available on crate feature h1 only.

Controls whether 103 Early Hints responses can be sent before the final response.

When enabled, an EarlyHints handle is inserted into each request’s extensions so that the handler can push early hint headers to the client. Defaults to false.

Trait Implementations§

Source§

impl Clone for Http1Options

Available on crate feature h1 only.
Source§

fn clone(&self) -> Http1Options

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Http1Options

Available on crate feature h1 only.
Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Http1Options

Available on crate feature h1 only.
Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more