Skip to main content

OutputKindAlg

Trait OutputKindAlg 

Source
pub trait OutputKindAlg<Interpreter: ?Sized, From> {
    type Transform;
}
Expand description

Resolves a portable output kind through an interpreter.

Required Associated Types§

Source

type Transform

The concrete converter chosen by Interpreter for this output kind.

That the converter reads From is required where the endpoint is compiled rather than here, so a kind may answer for some results and not others. An endpoint stating no body converts a handler that returns nothing, and an endpoint stating a failure converts a handler that can fail.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<Interpreter, From, Kind, const CODE: u16> OutputKindAlg<Interpreter, From> for StatusOut<Kind, CODE>
where Interpreter: StatusOutAlg + ?Sized, Kind: OutputKindAlg<Interpreter, From>,

Source§

type Transform = <Interpreter as StatusOutAlg>::Status<<Kind as OutputKindAlg<Interpreter, From>>::Transform, CODE>

Source§

impl<Interpreter, From> OutputKindAlg<Interpreter, From> for BytesOut
where Interpreter: BytesOutAlg + ?Sized,

Source§

type Transform = <Interpreter as BytesOutAlg>::Bytes<From>

Source§

impl<Interpreter, From> OutputKindAlg<Interpreter, From> for EmptyOut
where Interpreter: EmptyOutAlg + ?Sized,

Source§

type Transform = <Interpreter as EmptyOutAlg>::Empty<From>

Source§

impl<Interpreter, From> OutputKindAlg<Interpreter, From> for FileOut
where Interpreter: FileOutAlg + ?Sized,

Source§

type Transform = <Interpreter as FileOutAlg>::File<From>

Source§

impl<Interpreter, From> OutputKindAlg<Interpreter, From> for HtmlOut
where Interpreter: HtmlOutAlg + ?Sized,

Source§

type Transform = <Interpreter as HtmlOutAlg>::Html<From>

Source§

impl<Interpreter, From> OutputKindAlg<Interpreter, From> for JsonOut
where Interpreter: JsonOutAlg + ?Sized,

Source§

type Transform = <Interpreter as JsonOutAlg>::Json<From>

Source§

impl<Interpreter, From> OutputKindAlg<Interpreter, From> for RedirectOut
where Interpreter: RedirectOutAlg + ?Sized,

Source§

type Transform = <Interpreter as RedirectOutAlg>::Redirect<From>

Source§

impl<Interpreter, From> OutputKindAlg<Interpreter, From> for StreamOut
where Interpreter: StreamOutAlg + ?Sized,

Source§

type Transform = <Interpreter as StreamOutAlg>::Stream<From>

Source§

impl<Interpreter, From> OutputKindAlg<Interpreter, From> for TextOut
where Interpreter: TextOutAlg + ?Sized,

Source§

type Transform = <Interpreter as TextOutAlg>::Text<From>

Source§

impl<Interpreter, Kind, Value, Error> OutputKindAlg<Interpreter, Result<Value, Error>> for ResultOut<Kind>
where Interpreter: ResultOutAlg + ?Sized, Kind: OutputKindAlg<Interpreter, Value>,

Source§

type Transform = <Interpreter as ResultOutAlg>::Result<<Kind as OutputKindAlg<Interpreter, Value>>::Transform, Error>

Source§

impl<Interpreter, Value, Rest, Kind, Name> OutputKindAlg<Interpreter, (Value, Rest)> for HeaderOut<Kind, Name>
where Interpreter: HeaderOutAlg + ?Sized, Kind: OutputKindAlg<Interpreter, Rest>,

Source§

type Transform = <Interpreter as HeaderOutAlg>::Header<<Kind as OutputKindAlg<Interpreter, Rest>>::Transform, Name>