Struct Input

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

The context which holds the received HTTP request.

The value is used throughout the processing in Endpoint and Task.

Implementations§

Source§

impl Input

Source

pub fn new(request: Request<()>) -> Input

Create an instance of Input from components.

Some fields remain uninitialized and their values are set when the corresponding method will be called.

Source

pub fn enter_scope<F, R>(&self, f: F) -> R
where F: FnOnce() -> R,

Set the reference to itself to the thread-local storage and execute given closure.

Typically, this method is used in the implementation of Task which holds some closures.

Source

pub fn with<F, R>(f: F) -> R
where F: FnOnce(&Input) -> R,

Execute a closure with the reference to the instance of Input from the thread-local storage.

This method is only used in a closure passed to enter_scope. Otherwise, it will be panic.

Source

pub fn request(&self) -> &Request<()>

Return a shared reference to the value of raw HTTP request without the message body.

Source

pub fn media_type(&self) -> Result<Option<&Mime>, InvalidMediaType>

Return the reference to the parsed media type in the request header.

This method will perform parsing of the entry Content-type in the request header if it has not been done yet. If the value is invalid, it will return an Err.

Trait Implementations§

Source§

impl Debug for Input

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl !Freeze for Input

§

impl !RefUnwindSafe for Input

§

impl Send for Input

§

impl !Sync for Input

§

impl Unpin for Input

§

impl !UnwindSafe for Input

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> 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> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
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.