1
0
mirror of https://github.com/fafhrd91/actix-net synced 2025-06-28 23:30:36 +02:00

split ServiceExt trait

This commit is contained in:
Nikolay Kim
2018-12-12 18:32:19 -08:00
parent 61939c7af2
commit bf9bd97173
3 changed files with 14 additions and 1 deletions

View File

@ -50,7 +50,11 @@ pub trait Service<Request> {
/// Calling `call` without calling `poll_ready` is permitted. The
/// implementation must be resilient to this fact.
fn call(&mut self, req: Request) -> Self::Future;
}
/// An extension trait for `Service`s that provides a variety of convenient
/// adapters
pub trait ServiceExt<Request>: Service<Request> {
/// Apply function to specified service and use it as a next service in
/// chain.
fn apply<T, I, F, Out, Req>(
@ -146,6 +150,8 @@ pub trait Service<Request> {
}
}
impl<T: ?Sized, Request> ServiceExt<Request> for T where T: Service<Request> {}
/// Creates new `Service` values.
///
/// Acts as a service factory. This is useful for cases where new `Service`