Skip to main content

RequestConfig

Struct RequestConfig 

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

Configuration for HTTP request parsing security limits.

This struct defines various limits and constraints to prevent denial-of-service attacks and other security vulnerabilities when parsing HTTP requests. Since all fields implement Copy, this struct is lightweight and can be easily cloned and shared.

Implementations§

Source§

impl RequestConfig

Source

pub fn from_json<C>(json: C) -> Result<RequestConfig, Error>
where C: AsRef<str>,

Creates a new RequestConfig from a JSON string.

§Arguments
  • AsRef<str> - The configuration.
§Returns
  • Result<RequestConfig, serde_json::Error> - The parsed RequestConfig or an error.
Source

pub fn low_security() -> RequestConfig

Creates a new RequestConfig with low-security settings.

This constructor initializes the configuration with less restrictive limits for environments where higher limits are needed.

§Returns
  • Self - A new RequestConfig instance with low-security settings.
Source

pub fn high_security() -> RequestConfig

Creates a new RequestConfig with high-security settings.

This constructor initializes the configuration with more restrictive limits to provide maximum protection against various attacks in high-risk environments.

§Returns
  • Self - A new RequestConfig instance with high-security settings.
Source§

impl RequestConfig

Source

pub fn get_buffer_size(&self) -> usize

Source

pub fn set_buffer_size(&mut self, val: usize) -> &mut RequestConfig

Source

pub fn get_mut_buffer_size(&mut self) -> &mut usize

Source

pub fn get_max_path_size(&self) -> usize

Source

pub fn set_max_path_size(&mut self, val: usize) -> &mut RequestConfig

Source

pub fn get_mut_max_path_size(&mut self) -> &mut usize

Source

pub fn get_max_header_count(&self) -> usize

Source

pub fn set_max_header_count(&mut self, val: usize) -> &mut RequestConfig

Source

pub fn get_mut_max_header_count(&mut self) -> &mut usize

Source

pub fn get_max_header_key_size(&self) -> usize

Source

pub fn set_max_header_key_size(&mut self, val: usize) -> &mut RequestConfig

Source

pub fn get_mut_max_header_key_size(&mut self) -> &mut usize

Source

pub fn get_max_header_value_size(&self) -> usize

Source

pub fn set_max_header_value_size(&mut self, val: usize) -> &mut RequestConfig

Source

pub fn get_mut_max_header_value_size(&mut self) -> &mut usize

Source

pub fn get_max_body_size(&self) -> usize

Source

pub fn set_max_body_size(&mut self, val: usize) -> &mut RequestConfig

Source

pub fn get_mut_max_body_size(&mut self) -> &mut usize

Source

pub fn get_read_timeout_ms(&self) -> u64

Source

pub fn set_read_timeout_ms(&mut self, val: u64) -> &mut RequestConfig

Source

pub fn get_mut_read_timeout_ms(&mut self) -> &mut u64

Source§

impl RequestConfig

Source

pub fn new( buffer_size: usize, max_path_size: usize, max_header_count: usize, max_header_key_size: usize, max_header_value_size: usize, max_body_size: usize, read_timeout_ms: u64, ) -> RequestConfig

Trait Implementations§

Source§

impl Clone for RequestConfig

Source§

fn clone(&self) -> RequestConfig

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 RequestConfig

Source§

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

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

impl Default for RequestConfig

Implementation of Default trait for RequestConfig.

Source§

fn default() -> RequestConfig

Creates a new RequestConfig with default secure settings.

This constructor initializes the configuration with standard security limits suitable for most HTTP request parsing scenarios.

§Returns
  • Self - A new RequestConfig instance with default settings.
Source§

impl<'de> Deserialize<'de> for RequestConfig

Source§

fn deserialize<__D>( __deserializer: __D, ) -> Result<RequestConfig, <__D as Deserializer<'de>>::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Display for RequestConfig

Source§

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

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

impl From<RequestConfig> for Server

Converts a RequestConfig into a Server instance.

This allows creating a Server directly from its request configuration, using default values for other fields.

Source§

fn from(request_config: RequestConfig) -> Self

Creates a new Server instance from the given RequestConfig.

§Arguments
  • RequestConfig - The request configuration to use.
§Returns
  • Self - A new Server instance with the provided request configuration.
Source§

impl PartialEq for RequestConfig

Source§

fn eq(&self, other: &RequestConfig) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for RequestConfig

Source§

fn serialize<__S>( &self, __serializer: __S, ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Copy for RequestConfig

Source§

impl Eq for RequestConfig

Source§

impl StructuralPartialEq for RequestConfig

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, 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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. 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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> AnySend for T
where T: Any + Send,

Source§

impl<T> AnySendClone for T
where T: Any + Send + Clone,

Source§

impl<T> AnySendSync for T
where T: Any + Send + Sync,

Source§

impl<T> AnySendSyncClone for T
where T: Any + Send + Sync + Clone,

Source§

impl<T> AnySync for T
where T: Any + Sync,

Source§

impl<T> AnySyncClone for T
where T: Any + Sync + Clone,

Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> ErasedDestructor for T
where T: 'static,