pub struct RequestParser;Expand description
Parsers for query strings, JSON bodies, and multipart payloads.
Implementations§
Source§impl RequestParser
impl RequestParser
Sourcepub fn query_param<T: FromStr>(query: &str, key: &str) -> Option<T>
pub fn query_param<T: FromStr>(query: &str, key: &str) -> Option<T>
Parses query as form-urlencoded and converts the key value via FromStr.
Returns None when the key is absent or cannot be parsed.
Sourcepub fn parse_body<T: DeserializeOwned>(body: &[u8]) -> Result<T, Error>
pub fn parse_body<T: DeserializeOwned>(body: &[u8]) -> Result<T, Error>
Deserializes a JSON body. Returns an error on invalid JSON or shape mismatch.
Sourcepub fn multipart_boundary(content_type: &str) -> Option<String>
pub fn multipart_boundary(content_type: &str) -> Option<String>
Extracts the boundary from a multipart/form-data; boundary=... content type.
Returns None when absent, empty, or longer than 128 characters.
Sourcepub fn parse_multipart(body: &[u8], boundary: &str) -> MultipartBody
pub fn parse_multipart(body: &[u8], boundary: &str) -> MultipartBody
Parse a multipart/form-data payload (RFC 7578) into text fields and files.
Byte-oriented so file contents are never mangled by UTF-8 decoding.
Auto Trait Implementations§
impl Freeze for RequestParser
impl RefUnwindSafe for RequestParser
impl Send for RequestParser
impl Sync for RequestParser
impl Unpin for RequestParser
impl UnsafeUnpin for RequestParser
impl UnwindSafe for RequestParser
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> 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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more