[][src]Struct swagger::drop_context::DropContextMakeService

pub struct DropContextMakeService<T, C> where
    C: Send + 'static, 
{ /* fields omitted */ }

Middleware wrapper service that drops the context from the incoming request and passes the plain hyper::Request to the wrapped service.

This service can be used to to include services that take a plain hyper::Request in a CompositeService wrapped in an AddContextService.

Example Usage

In the following example SwaggerService implements hyper::service::MakeService with Request = (hyper::Request, SomeContext), and PlainService implements it with Request = hyper::Request

This example is not tested
let swagger_service_one = SwaggerService::new();
let swagger_service_two = SwaggerService::new();
let plain_service = PlainService::new();

let mut composite_new_service = CompositeMakeService::new();
composite_new_service.push(("/base/path/1", swagger_service_one));
composite_new_service.push(("/base/path/2", swagger_service_two));
composite_new_service.push(("/base/path/3", DropContextMakeService::new(plain_service)));

Methods

impl<T, C> DropContextMakeService<T, C> where
    C: Send + 'static, 
[src]

pub fn new(inner: T) -> Self[src]

Create a new DropContextMakeService struct wrapping a value

Trait Implementations

impl<T: Debug, C: Debug> Debug for DropContextMakeService<T, C> where
    C: Send + 'static, 
[src]

impl<'a, SC, RC, T, S, F> MakeService<&'a SC> for DropContextMakeService<T, RC> where
    RC: Send + 'static,
    T: MakeService<&'a SC, ReqBody = Body, ResBody = Body, Error = Error, MakeError = Error, Service = S, Future = F>,
    T::Future: 'static,
    S: Service<ReqBody = Body, ResBody = Body, Error = Error> + 'static,
    F: Future<Item = S, Error = Error>, 
[src]

type ReqBody = ContextualPayload<Body, RC>

The Payload body of the http::Request.

type ResBody = Body

The Payload body of the http::Response.

type Error = Error

The error type that can be returned by Services.

type MakeError = Error

The error type that can be returned when creating a new Service.

type Future = Box<dyn Future<Item = Self::Service, Error = Error>>

The future returned from new_service of a Service.

type Service = DropContextService<S, RC>

The resolved Service from new_service().

Auto Trait Implementations

impl<T, C> RefUnwindSafe for DropContextMakeService<T, C> where
    C: RefUnwindSafe,
    T: RefUnwindSafe

impl<T, C> Send for DropContextMakeService<T, C> where
    T: Send

impl<T, C> Sync for DropContextMakeService<T, C> where
    C: Sync,
    T: Sync

impl<T, C> Unpin for DropContextMakeService<T, C> where
    C: Unpin,
    T: Unpin

impl<T, C> UnwindSafe for DropContextMakeService<T, C> where
    C: UnwindSafe,
    T: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<N, Ctx> MakeService<Ctx> for N where
    N: NewService
[src]

type ReqBody = <N as NewService>::ReqBody

The Payload body of the http::Request.

type ResBody = <N as NewService>::ResBody

The Payload body of the http::Response.

type Error = <N as NewService>::Error

The error type that can be returned by Services.

type Service = <N as NewService>::Service

The resolved Service from new_service().

type Future = <N as NewService>::Future

The future returned from new_service of a Service.

type MakeError = <N as NewService>::InitError

The error type that can be returned when creating a new Service.

impl<T> SendSyncUnwindSafe for T where
    T: Send + Sync + UnwindSafe + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.