pub struct RequestLimits {
pub max_body_size: usize,
pub max_headers: usize,
pub max_header_size: usize,
pub max_uri_length: usize,
}Expand description
Request limits configuration.
Fields§
§max_body_size: usizeMaximum request body size in bytes (default: 1MB).
max_headers: usizeMaximum number of headers (default: 100).
max_header_size: usizeMaximum header size in bytes (default: 8KB).
max_uri_length: usizeMaximum URI length in characters (default: 8KB).
Implementations§
Source§impl RequestLimits
impl RequestLimits
Sourcepub fn validate_uri(&self, uri: &str) -> Result<(), ValidationError2>
pub fn validate_uri(&self, uri: &str) -> Result<(), ValidationError2>
Validate URI length.
Sourcepub fn validate_headers(
&self,
headers: &HashMap<String, String>,
) -> Result<(), ValidationError2>
pub fn validate_headers( &self, headers: &HashMap<String, String>, ) -> Result<(), ValidationError2>
Validate header count and individual header sizes.
Sourcepub fn validate_header_count(
&self,
count: usize,
) -> Result<(), ValidationError2>
pub fn validate_header_count( &self, count: usize, ) -> Result<(), ValidationError2>
Validate the raw header count. Unlike [validate_headers], which operates
on a name→value map that collapses duplicate names, this counts the total
number of header lines so repeated names cannot undercount the limit.
Sourcepub fn validate_header_size(
&self,
name: &str,
size: usize,
) -> Result<(), ValidationError2>
pub fn validate_header_size( &self, name: &str, size: usize, ) -> Result<(), ValidationError2>
Validate a single header line’s size (name bytes + value bytes). Applied per raw header so a duplicate name’s value isn’t skipped.
Sourcepub fn validate_body_size(
&self,
body_len: usize,
) -> Result<(), ValidationError2>
pub fn validate_body_size( &self, body_len: usize, ) -> Result<(), ValidationError2>
Validate body size.
Trait Implementations§
Source§impl Clone for RequestLimits
impl Clone for RequestLimits
Source§fn clone(&self) -> RequestLimits
fn clone(&self) -> RequestLimits
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RequestLimits
impl Debug for RequestLimits
Auto Trait Implementations§
impl Freeze for RequestLimits
impl RefUnwindSafe for RequestLimits
impl Send for RequestLimits
impl Sync for RequestLimits
impl Unpin for RequestLimits
impl UnsafeUnpin for RequestLimits
impl UnwindSafe for RequestLimits
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request