[−][src]Struct swagger::composites::CompositeNewService
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
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]
impl<U: GetPath, V: NotFound, W> CompositeNewService<U, V, W>
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: Default, V: Default, W: Default> Default for CompositeNewService<U, V, W> where
U: GetPath,
V: NotFound + 'static,
W: 'static,
fn default() -> CompositeNewService<U, V, W>
[src]
fn default() -> CompositeNewService<U, V, W>
impl<U, V, W> DerefMut 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,
impl<U, V, W> Debug 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,
impl<U, V, W> Deref 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,
type Target = Vec<(&'static str, Box<dyn BoxedNewService<U, V, W>>)>
The resulting type after dereferencing.
fn deref(&self) -> &Self::Target
[src]
fn deref(&self) -> &Self::Target
impl<U, V, W> NewService for CompositeNewService<U, V, W> where
U: GetPath,
V: NotFound + 'static,
W: 'static,
[src]
impl<U, V, W> NewService for CompositeNewService<U, V, W> where
U: GetPath,
V: NotFound + 'static,
W: 'static,
type Request = U
Requests handled by the service
type Response = V
Responses given by the service
type Error = W
Errors produced by the service
type Instance = CompositeService<U, V, W>
The Service
value created by this factory
fn new_service(&self) -> Result<Self::Instance, Error>
[src]
fn new_service(&self) -> Result<Self::Instance, Error>
Auto Trait Implementations
impl<U, V, W> !Send for CompositeNewService<U, V, W>
impl<U, V, W> !Send for CompositeNewService<U, V, W>
impl<U, V, W> !Sync 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]
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>,
fn boxed_new_service(
&Self
) -> Result<Box<dyn Service<Future = Box<dyn Future<Item = V, Error = W> + 'static>, Error = W, Request = U, Response = V> + 'static>, Error>
[src]
fn boxed_new_service(
&Self
) -> Result<Box<dyn Service<Future = Box<dyn Future<Item = V, Error = W> + 'static>, Error = W, Request = U, Response = V> + 'static>, Error>
Call the new_service
method of the wrapped NewService
and Box
the result
impl<T> From for T
[src]
impl<T> From for T
impl<T, U> Into for T where
U: From<T>,
[src]
impl<T, U> Into for T where
U: From<T>,
impl<T, U> TryFrom for T where
T: From<U>,
[src]
impl<T, U> TryFrom for T where
T: From<U>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T> Borrow for T where
T: ?Sized,
[src]
impl<T> Borrow for T where
T: ?Sized,
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
impl<T> BorrowMut for T where
T: ?Sized,
[src]
impl<T> BorrowMut for T where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
fn borrow_mut(&mut self) -> &mut T
impl<T> Any for T where
T: 'static + ?Sized,
[src]
impl<T> Any for T where
T: 'static + ?Sized,
fn get_type_id(&self) -> TypeId
[src]
fn get_type_id(&self) -> TypeId
impl<F, R> NewService for F where
F: Fn() -> Result<R, Error>,
R: Service,
impl<F, R> NewService for F where
F: Fn() -> Result<R, Error>,
R: Service,
type Request = <R as Service>::Request
Requests handled by the service
type Response = <R as Service>::Response
Responses given by the service
type Error = <R as Service>::Error
Errors produced by the service
type Instance = R
The Service
value created by this factory
fn new_service(&self) -> Result<R, Error>
fn new_service(&self) -> Result<R, Error>
impl<T> Erased for T
impl<T> Erased for T