pub struct ConstantSingleRecordReport<'a, H: Handler> { /* private fields */ }
Expand description
Wrapper around arbitrary Handlers to make them report some attributes. The path is often configured empty, relying on the tree builder to augment it with the actual path.
This helps integrating handler implementations that do not manually implement Reporting.
Any Reporting the handler might implement is overridden by this.
Implementations§
Source§impl<'a, H: Handler> ConstantSingleRecordReport<'a, H>
impl<'a, H: Handler> ConstantSingleRecordReport<'a, H>
Sourcepub fn new(handler: H, attributes: &'a [Attribute]) -> Self
pub fn new(handler: H, attributes: &'a [Attribute]) -> Self
Wrap a handler with attributes reported at its single path
Sourcepub fn new_with_path(
handler: H,
attributes: &'a [Attribute],
path: &'a [&'a str],
) -> Self
pub fn new_with_path( handler: H, attributes: &'a [Attribute], path: &'a [&'a str], ) -> Self
Wrap a handler with attributes and additional path components
Compared to .new()
, this is primarily useful for
handlers that do perform own path processing (and are thus instanciated .below()
some
path), but whose root resource is not the resource below which is put. This is a typical
case: To use relative references, it is convenient to make a handler go
.below(&["path"])
, but then expect an extra /
segment (an empty component in the path
list) at the end – and then deal out relative references like 1
or ./2
to go to
/path/2
. Such handlers put &[""]
in the path argument.
Trait Implementations§
Source§impl<'a, H: Handler> Handler for ConstantSingleRecordReport<'a, H>
impl<'a, H: Handler> Handler for ConstantSingleRecordReport<'a, H>
Source§type RequestData = <H as Handler>::RequestData
type RequestData = <H as Handler>::RequestData
Source§type ExtractRequestError = <H as Handler>::ExtractRequestError
type ExtractRequestError = <H as Handler>::ExtractRequestError
extract_request_data()
. Read moreSource§type BuildResponseError<M: MinimalWritableMessage> = <H as Handler>::BuildResponseError<M>
type BuildResponseError<M: MinimalWritableMessage> = <H as Handler>::BuildResponseError<M>
Source§fn extract_request_data<M: ReadableMessage>(
&mut self,
m: &M,
) -> Result<H::RequestData, Self::ExtractRequestError>
fn extract_request_data<M: ReadableMessage>( &mut self, m: &M, ) -> Result<H::RequestData, Self::ExtractRequestError>
Source§fn estimate_length(&mut self, r: &Self::RequestData) -> usize
fn estimate_length(&mut self, r: &Self::RequestData) -> usize
Source§fn build_response<M: MutableWritableMessage>(
&mut self,
m: &mut M,
r: Self::RequestData,
) -> Result<(), Self::BuildResponseError<M>>
fn build_response<M: MutableWritableMessage>( &mut self, m: &mut M, r: Self::RequestData, ) -> Result<(), Self::BuildResponseError<M>>
Auto Trait Implementations§
impl<'a, H> Freeze for ConstantSingleRecordReport<'a, H>where
H: Freeze,
impl<'a, H> RefUnwindSafe for ConstantSingleRecordReport<'a, H>where
H: RefUnwindSafe,
impl<'a, H> Send for ConstantSingleRecordReport<'a, H>where
H: Send,
impl<'a, H> Sync for ConstantSingleRecordReport<'a, H>where
H: Sync,
impl<'a, H> Unpin for ConstantSingleRecordReport<'a, H>where
H: Unpin,
impl<'a, H> UnwindSafe for ConstantSingleRecordReport<'a, H>where
H: UnwindSafe,
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
Source§impl<'a, OldRD, OldH> HandlerBuilder<'a, OldRD> for OldHwhere
OldH: Handler<RequestData = OldRD>,
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, Self>
fn at<H>(self, path: &'a [&'a str], handler: H) -> ForkingHandler<'a, H, Self>
Source§fn at_with_attributes<H>(
self,
path: &'a [&'a str],
attributes: &'a [Attribute],
handler: H,
) -> ForkingHandler<'a, ConstantSingleRecordReport<'a, H>, Self>
fn at_with_attributes<H>( self, path: &'a [&'a str], attributes: &'a [Attribute], handler: H, ) -> ForkingHandler<'a, ConstantSingleRecordReport<'a, H>, Self>
path
into the given handler
, and announce them with the
given attributes in .well-known/core. Read moreSource§impl<'a, OldRD, OldH> ReportingHandlerBuilder<'a, OldRD> for OldH
impl<'a, OldRD, OldH> ReportingHandlerBuilder<'a, OldRD> for OldH
Layout§
Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.