pub struct HttpServerFactory {
pub interface_name: &'static str,
pub build_router_from_registry: fn() -> Result<Router, &'static str>,
}Expand description
Factory entry for a #[wagon] trait’s server-side router. Mirrors
HttpAdapterFactory but for the server direction.
Macro-generated code submits one of these per full-codegen trait via
inventory::submit!. run_or_serve iterates this collection by
interface name to find the right router builder when starting in
peer mode.
build_router_from_registry is macro-emitted and does the
trait-erased work of: try_client::<dyn Trait>() for the impl,
then build_<trait>_router(impl) to produce the axum router.
Fields§
§interface_name: &'static str§build_router_from_registry: fn() -> Result<Router, &'static str>Trait Implementations§
impl Collect for HttpServerFactory
Auto Trait Implementations§
impl Freeze for HttpServerFactory
impl RefUnwindSafe for HttpServerFactory
impl Send for HttpServerFactory
impl Sync for HttpServerFactory
impl Unpin for HttpServerFactory
impl UnsafeUnpin for HttpServerFactory
impl UnwindSafe for HttpServerFactory
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreCreates a shared type from an unshared type.