[][src]Struct swagger::composites::CompositeNewService

pub struct CompositeNewService<U, V, W>(_)
where
    U: GetPath,
    V: NotFound + 'static,
    W: 'static
;

Wraps a vector of pairs, each consisting of a base path as a &'static str and a NewService instance. Implements Deref<Vec> and DerefMut<Vec> so these can be manipulated using standard Vec methods.

The Service returned by calling new_service() will pass an incoming request to the first Service in the list for which the associated base path is a prefix of the request path.

Example Usage

This example is not tested
let my_new_service1 = NewService1::new();
let my_new_service2 = NewService2::new();

let mut composite_new_service = CompositeNewService::new();
composite_new_service.push(("/base/path/1", my_new_service1));
composite_new_service.push(("/base/path/2", my_new_service2));

// use as you would any `NewService` instance

Methods

impl<U: GetPath, V: NotFound, W> CompositeNewService<U, V, W>
[src]

create an empty CompositeNewService

Trait Implementations

impl<U: Default, V: Default, W: Default> Default for CompositeNewService<U, V, W> where
    U: GetPath,
    V: NotFound + 'static,
    W: 'static, 
[src]

impl<U, V, W> DerefMut for CompositeNewService<U, V, W> where
    U: GetPath,
    V: NotFound + 'static,
    W: 'static, 
[src]

impl<U, V, W> Debug for CompositeNewService<U, V, W> where
    U: GetPath,
    V: NotFound + 'static,
    W: 'static, 
[src]

impl<U, V, W> Deref for CompositeNewService<U, V, W> where
    U: GetPath,
    V: NotFound + 'static,
    W: 'static, 
[src]

The resulting type after dereferencing.

impl<U, V, W> NewService for CompositeNewService<U, V, W> where
    U: GetPath,
    V: NotFound + 'static,
    W: 'static, 
[src]

Requests handled by the service

Responses given by the service

Errors produced by the service

The Service value created by this factory

Auto Trait Implementations

impl<U, V, W> !Send for CompositeNewService<U, V, W>

impl<U, V, W> !Sync for CompositeNewService<U, V, W>

Blanket Implementations

impl<T, U, V, W> BoxedNewService for T where
    T: NewService<Request = U, Response = V, Error = W>,
    <T as NewService>::Instance: Service,
    <T as NewService>::Instance: 'static,
    <<T as NewService>::Instance as Service>::Future == Box<dyn Future<Item = V, Error = W> + 'static>, 
[src]

Call the new_service method of the wrapped NewService and Box the result

impl<T> From for T
[src]

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

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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

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

impl<F, R> NewService for F where
    F: Fn() -> Result<R, Error>,
    R: Service, 

Requests handled by the service

Responses given by the service

Errors produced by the service

The Service value created by this factory

impl<T> Erased for T