pub struct DirectHandlerImpl<Context> { /* private fields */ }Expand description
Interprets typed HTTP programs as a surface that answers requests itself.
Implementations§
Source§impl<Context> DirectHandlerImpl<Context>
impl<Context> DirectHandlerImpl<Context>
Trait Implementations§
Source§impl<Context> BytesOutAlg for DirectHandlerImpl<Context>
impl<Context> BytesOutAlg for DirectHandlerImpl<Context>
Source§type Bytes<From> = DirectBytesOutput
type Bytes<From> = DirectBytesOutput
The raw-byte converter selected for
From.Source§impl<Context> EmptyOutAlg for DirectHandlerImpl<Context>
impl<Context> EmptyOutAlg for DirectHandlerImpl<Context>
Source§type Empty<From> = DirectEmptyOutput
type Empty<From> = DirectEmptyOutput
The empty converter selected for
From.Source§impl<Context> FileOutAlg for DirectHandlerImpl<Context>
impl<Context> FileOutAlg for DirectHandlerImpl<Context>
Source§type File<From> = DirectFileOutput
type File<From> = DirectFileOutput
The streamed-file converter selected for
From.Source§impl<Context> HandlerAlg for DirectHandlerImpl<Context>
impl<Context> HandlerAlg for DirectHandlerImpl<Context>
Source§type Endpoint = DirectEndpoint
type Endpoint = DirectEndpoint
The interpreter’s homogeneous endpoint representation.
Source§impl<Context> HandlerContextAlg<Context> for DirectHandlerImpl<Context>
impl<Context> HandlerContextAlg<Context> for DirectHandlerImpl<Context>
Source§impl<Context, Inputs, Args, Transform, Answering, Output> HandlerEndpointAlg<Arc<Context>, Inputs, Args, Transform, Output> for DirectHandlerImpl<Context>where
Context: Send + Sync + 'static,
Inputs: DirectInputsAlg<Args> + Send + 'static,
Args: Send + 'static,
Output: Send + 'static,
Transform: OutputKindAlg<Self, Output, Transform = Answering> + Send + 'static,
Answering: OutputAlg<Output, Output = DirectResponse>,
impl<Context, Inputs, Args, Transform, Answering, Output> HandlerEndpointAlg<Arc<Context>, Inputs, Args, Transform, Output> for DirectHandlerImpl<Context>where
Context: Send + Sync + 'static,
Inputs: DirectInputsAlg<Args> + Send + 'static,
Args: Send + 'static,
Output: Send + 'static,
Transform: OutputKindAlg<Self, Output, Transform = Answering> + Send + 'static,
Answering: OutputAlg<Output, Output = DirectResponse>,
Source§fn finish_handler<Handler>(
&self,
handler: Handler,
) -> <Self as HandlerAlg>::Endpointwhere
Handler: OperationAlg + ApplyAlg<Arc<Context>, Args, Output = Output> + Send + Sync + 'static,
fn finish_handler<Handler>(
&self,
handler: Handler,
) -> <Self as HandlerAlg>::Endpointwhere
Handler: OperationAlg + ApplyAlg<Arc<Context>, Args, Output = Output> + Send + Sync + 'static,
Interprets a typed first-order handler as a concrete endpoint. Read more
Source§impl<Context> HeaderOutAlg for DirectHandlerImpl<Context>
impl<Context> HeaderOutAlg for DirectHandlerImpl<Context>
Source§type Header<Inner, Name> = DirectHeaderOutput<Inner, Name>
type Header<Inner, Name> = DirectHeaderOutput<Inner, Name>
The converter writing
Name beside the body Inner states.Source§impl<Context> HtmlOutAlg for DirectHandlerImpl<Context>
impl<Context> HtmlOutAlg for DirectHandlerImpl<Context>
Source§type Html<From> = DirectHtmlOutput
type Html<From> = DirectHtmlOutput
The HTML converter selected for
From.Source§impl<Context> HttpInputAlg for DirectHandlerImpl<Context>
impl<Context> HttpInputAlg for DirectHandlerImpl<Context>
Source§type Path<I> = DirectPathInput<I>
type Path<I> = DirectPathInput<I>
The interpreter’s path extractor for
Input.Source§type Query<I> = DirectQueryInput<I>
type Query<I> = DirectQueryInput<I>
The interpreter’s query extractor for
Input.Source§type Body<I> = DirectBodyInput<I>
type Body<I> = DirectBodyInput<I>
The interpreter’s request-body extractor for
Input.Source§type Form<I> = DirectFormInput<I>
type Form<I> = DirectFormInput<I>
The interpreter’s form-encoded request-body extractor for
Input.Source§type Multipart<I> = DirectMultipartInput<I>
type Multipart<I> = DirectMultipartInput<I>
The interpreter’s extractor for
Input read from a body arriving as parts.Source§type RawBody<I> = DirectRawBodyInput<I>
type RawBody<I> = DirectRawBodyInput<I>
The interpreter’s unread request-body extractor for
Input.Source§type Header<I> = DirectHeaderInput<I>
type Header<I> = DirectHeaderInput<I>
The interpreter’s header extractor for
Input. Read moreSource§type Cookie<I> = DirectCookieInput<I>
type Cookie<I> = DirectCookieInput<I>
The interpreter’s cookie extractor for
Input.Source§type Auth<I> = DirectHeaderInput<I>
type Auth<I> = DirectHeaderInput<I>
The interpreter’s authentication extractor for
Input.Source§type Context<I> = DirectHeadInput<I>
type Context<I> = DirectHeadInput<I>
The interpreter’s endpoint-context extractor for
Input.Source§impl<Context> HttpSelectorAlg for DirectHandlerImpl<Context>
impl<Context> HttpSelectorAlg for DirectHandlerImpl<Context>
Source§type Selector = DirectSelector
type Selector = DirectSelector
The interpreter’s HTTP selector representation.
Source§fn http_method(&self, method: HttpMethod) -> Self::Selector
fn http_method(&self, method: HttpMethod) -> Self::Selector
Interprets a request-method selector.
Source§fn http_prefix(&self, prefix: &RoutePath) -> Self::Selector
fn http_prefix(&self, prefix: &RoutePath) -> Self::Selector
Interprets a path-prefix selector.
Source§impl<Context> JsonOutAlg for DirectHandlerImpl<Context>
impl<Context> JsonOutAlg for DirectHandlerImpl<Context>
Source§type Json<From> = DirectJsonOutput
type Json<From> = DirectJsonOutput
The JSON converter selected for
From.Source§impl<Context> RedirectOutAlg for DirectHandlerImpl<Context>
impl<Context> RedirectOutAlg for DirectHandlerImpl<Context>
Source§type Redirect<From> = DirectRedirectOutput
type Redirect<From> = DirectRedirectOutput
The redirect converter selected for
From.Source§impl<Context> ResultOutAlg for DirectHandlerImpl<Context>
impl<Context> ResultOutAlg for DirectHandlerImpl<Context>
Source§type Result<Inner, Error> = DirectResultOutput<Inner, Error>
type Result<Inner, Error> = DirectResultOutput<Inner, Error>
The converter answering with
Inner on success and with what Error means otherwise.Source§impl<Context> RouteAlg for DirectHandlerImpl<Context>
impl<Context> RouteAlg for DirectHandlerImpl<Context>
Source§type Route = DirectRoute
type Route = DirectRoute
The interpreter’s composed route representation.
Source§type Selector = DirectSelector
type Selector = DirectSelector
The selector applied to a route or endpoint.
Source§type Endpoint = DirectEndpoint
type Endpoint = DirectEndpoint
The homogeneous endpoint representation lifted into routes.
Source§fn coproduct(&self, left: Self::Route, right: Self::Route) -> Self::Route
fn coproduct(&self, left: Self::Route, right: Self::Route) -> Self::Route
Forms the coproduct of two routes.
Source§impl<Context> SelectorAlg for DirectHandlerImpl<Context>
impl<Context> SelectorAlg for DirectHandlerImpl<Context>
Source§impl<Context> StatusOutAlg for DirectHandlerImpl<Context>
impl<Context> StatusOutAlg for DirectHandlerImpl<Context>
Source§type Status<Inner, const CODE: u16> = DirectStatusOutput<Inner, CODE>
type Status<Inner, const CODE: u16> = DirectStatusOutput<Inner, CODE>
The converter answering with
CODE and the body Inner states.Source§impl<Context> StreamOutAlg for DirectHandlerImpl<Context>
impl<Context> StreamOutAlg for DirectHandlerImpl<Context>
Source§type Stream<From> = DirectStreamOutput
type Stream<From> = DirectStreamOutput
The streamed converter selected for
From.Source§impl<Context> TextOutAlg for DirectHandlerImpl<Context>
impl<Context> TextOutAlg for DirectHandlerImpl<Context>
Source§type Text<From> = DirectTextOutput
type Text<From> = DirectTextOutput
The plain-text converter selected for
From.Auto Trait Implementations§
impl<Context> Freeze for DirectHandlerImpl<Context>
impl<Context> RefUnwindSafe for DirectHandlerImpl<Context>where
Arc<Context>: RefUnwindSafe,
impl<Context> Send for DirectHandlerImpl<Context>
impl<Context> Sync for DirectHandlerImpl<Context>
impl<Context> Unpin for DirectHandlerImpl<Context>
impl<Context> UnsafeUnpin for DirectHandlerImpl<Context>where
Arc<Context>: UnsafeUnpin,
impl<Context> UnwindSafe for DirectHandlerImpl<Context>where
Arc<Context>: 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
Mutably borrows from an owned value. Read more
impl<_INNER> HttpApiAlg for _INNERwhere
_INNER: HandlerAlg + HttpInputAlg + HttpRouteAlg<Endpoint = <_INNER as HandlerAlg>::Endpoint> + RouteAlg,
Source§impl<This> HttpProgramExt<This> for This
impl<This> HttpProgramExt<This> for This
Source§fn compile_http<Program>(
&self,
program: Program,
) -> <Program as HttpProgramAlg<This>>::Routewhere
Program: HttpProgramAlg<This>,
fn compile_http<Program>(
&self,
program: Program,
) -> <Program as HttpProgramAlg<This>>::Routewhere
Program: HttpProgramAlg<This>,
Compiles a named HTTP program with this interpreter.