pub struct WithPath<S: Stack + ?Sized, Prev: Builder<S>, P: AsUriPath> { /* private fields */ }
Expand description

A request that sets a request Uri-Path.

This is based on a Code, and built in Code::with_path.

Implementations§

source§

impl<S: Stack + ?Sized, Prev: Builder<S, Output = Result<(), ()>>, P: AsUriPath> WithPath<S, Prev, P>

source

pub fn with_request_payload<F>(self, f: F) -> WritingRequest<S, Self, F>where F: Fn(&mut S::RequestMessage<'_>),

Set the request payload in a user callback.

Caveats

Note that while the user may do all sorts of writes to the request message, they better stick to writing to the payload (for other uses might lead to panics).

Also, it is not sure whether this can actualy be used without ICEing (testing WIP).

source

pub fn processing_response_payload_through<O, F>( self, f: F ) -> ProcessingResponse<S, Self, O, F>where F: for<'a> FnOnce(&'a [u8]) -> O,

Provide the response payload to a user callback.

Trait Implementations§

source§

impl<S: Stack + ?Sized, Prev: Builder<S>, P: AsUriPath> Request<S> for WithPath<S, Prev, P>

§

type Carry = <Prev as Request<S>>::Carry

§

type Output = <Prev as Request<S>>::Output

source§

async fn build_request( &mut self, req: &mut S::RequestMessage<'_> ) -> Self::Carry

Build the request message Read more
source§

async fn process_response( &mut self, res: &S::ResponseMessage<'_>, carry: Prev::Carry ) -> Self::Output

Process the response message Read more

Auto Trait Implementations§

§

impl<S: ?Sized, Prev, P> RefUnwindSafe for WithPath<S, Prev, P>where P: RefUnwindSafe, Prev: RefUnwindSafe, S: RefUnwindSafe,

§

impl<S: ?Sized, Prev, P> Send for WithPath<S, Prev, P>where P: Send, Prev: Send, S: Send,

§

impl<S: ?Sized, Prev, P> Sync for WithPath<S, Prev, P>where P: Sync, Prev: Sync, S: Sync,

§

impl<S: ?Sized, Prev, P> Unpin for WithPath<S, Prev, P>where P: Unpin, Prev: Unpin, S: Unpin,

§

impl<S: ?Sized, Prev, P> UnwindSafe for WithPath<S, Prev, P>where P: UnwindSafe, Prev: UnwindSafe, S: UnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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 Twhere 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> Same for T

§

type Output = T

Should always be Self
source§

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

§

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 Twhere U: TryFrom<T>,

§

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.