pub struct SimpleWrapper<H, S: SimpleSerialization = SerdeCBORSerialization>where
H: SimpleCBORHandler,
{ /* private fields */ }
Expand description

Wrapper for resource handlers that are implemented in terms of GETting, POSTing or PUTting objects in CBOR format.

The wrapper handles all encoding and decoding, options processing (ignoring the critical Uri-Path option under the assumption that that has been already processed by an underlying request router), the corresponding errors and block-wise GETs.

More complex handlers (eg. implementing additional representations, or processing query aprameters into additional data available to the SimpleCBORHandler) can be built by forwarding to this (where any critical but already processed options would need to be masked from the message’s option) or taking inspiration from it.

Implementations§

source§

impl<H> SimpleWrapper<H, SerdeCBORSerialization>where
H: SimpleCBORHandler,
H::Get: for<'de> Serialize,
H::Post: for<'de> Deserialize<'de>,
H::Put: for<'de> Deserialize<'de>,

source

pub fn new(handler: H) -> Self

Trait Implementations§

source§

impl<H> Handler for SimpleWrapper<H, SerdeCBORSerialization>where
H: SimpleCBORHandler,
H::Get: for<'de> Serialize,
H::Post: for<'de> Deserialize<'de>,
H::Put: for<'de> Deserialize<'de>,

§

type RequestData = SimpleRequestData

source§

fn extract_request_data(
&mut self,
request: &impl ReadableMessage
) -> Self::RequestData

source§

fn estimate_length(&mut self, request: &Self::RequestData) -> usize

source§

fn build_response(
&mut self,
response: &mut impl MutableWritableMessage,
request: Self::RequestData
)

Auto Trait Implementations§

§

impl<H, S> RefUnwindSafe for SimpleWrapper<H, S>where
H: RefUnwindSafe,
S: RefUnwindSafe,

§

impl<H, S> Send for SimpleWrapper<H, S>where
H: Send,
S: Send,

§

impl<H, S> Sync for SimpleWrapper<H, S>where
H: Sync,
S: Sync,

§

impl<H, S> Unpin for SimpleWrapper<H, S>where
H: Unpin,
S: Unpin,

§

impl<H, S> UnwindSafe for SimpleWrapper<H, S>where
H: 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,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<'a, OldRD, OldH> HandlerBuilder<'a, OldRD> for OldHwhere
OldH: Handler<RequestData = OldRD>,

source§

fn at<H>(self, path: &'a [&'a str], handler: H) -> ForkingHandler<'a, H, OldH>

👎Deprecated
Divert requests arriving at path into the given handler. Read more
source§

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

const: unstable · 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<T> 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.
const: unstable · 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.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.