pub struct Request<Args, Ctx> {
pub args: Args,
pub parts: Parts<Ctx>,
}Expand description
Represents a job which can be serialized and executed
Fields§
§args: ArgsThe inner request part
parts: Parts<Ctx>Parts of the request eg id, attempts and context
Implementations§
Source§impl<T, Ctx> Request<T, Ctx>
impl<T, Ctx> Request<T, Ctx>
Sourcepub fn new_with_parts(args: T, parts: Parts<Ctx>) -> Self
pub fn new_with_parts(args: T, parts: Parts<Ctx>) -> Self
Creates a request with all parts provided
Sourcepub fn new_with_ctx(req: T, ctx: Ctx) -> Self
pub fn new_with_ctx(req: T, ctx: Ctx) -> Self
Creates a request with context provided
Sourcepub fn new_with_data(req: T, data: Extensions, ctx: Ctx) -> Self
pub fn new_with_data(req: T, data: Extensions, ctx: Ctx) -> Self
Creates a request with data and context provided
Sourcepub fn take_parts(self) -> (T, Parts<Ctx>)
pub fn take_parts(self) -> (T, Parts<Ctx>)
Take the parts
Methods from Deref<Target = Extensions>§
Sourcepub fn insert<T: Clone + Send + Sync + 'static>(&mut self, val: T) -> Option<T>
pub fn insert<T: Clone + Send + Sync + 'static>(&mut self, val: T) -> Option<T>
Insert a type into this Extensions.
If a extension of this type already existed, it will be returned.
§Example
let mut ext = Extensions::new();
assert!(ext.insert(5i32).is_none());
assert!(ext.insert(4u8).is_none());
assert_eq!(ext.insert(9i32), Some(5i32));Sourcepub fn get<T: Send + Sync + 'static>(&self) -> Option<&T>
pub fn get<T: Send + Sync + 'static>(&self) -> Option<&T>
Get a reference to a type previously inserted on this Extensions.
§Example
let mut ext = Extensions::new();
assert!(ext.get::<i32>().is_none());
ext.insert(5i32);
assert_eq!(ext.get::<i32>(), Some(&5i32));Sourcepub fn get_checked<T: Send + Sync + 'static>(&self) -> Result<&T, Error>
pub fn get_checked<T: Send + Sync + 'static>(&self) -> Result<&T, Error>
Get a checked reference to a type previously inserted on this Extensions.
§Example
let mut ext = Extensions::new();
assert!(ext.get_checked::<i32>().is_err());
ext.insert(5i32);
assert_eq!(ext.get_checked::<i32>(), Ok(&5i32));Sourcepub fn get_mut<T: Send + Sync + 'static>(&mut self) -> Option<&mut T>
pub fn get_mut<T: Send + Sync + 'static>(&mut self) -> Option<&mut T>
Get a mutable reference to a type previously inserted on this Extensions.
§Example
let mut ext = Extensions::new();
ext.insert(String::from("Hello"));
ext.get_mut::<String>().unwrap().push_str(" World");
assert_eq!(ext.get::<String>().unwrap(), "Hello World");Sourcepub fn remove<T: Send + Sync + 'static>(&mut self) -> Option<T>
pub fn remove<T: Send + Sync + 'static>(&mut self) -> Option<T>
Remove a type from this Extensions.
If a extension of this type existed, it will be returned.
§Example
let mut ext = Extensions::new();
ext.insert(5i32);
assert_eq!(ext.remove::<i32>(), Some(5i32));
assert!(ext.get::<i32>().is_none());Sourcepub fn clear(&mut self)
pub fn clear(&mut self)
Clear the Extensions of all inserted extensions.
§Example
let mut ext = Extensions::new();
ext.insert(5i32);
ext.clear();
assert!(ext.get::<i32>().is_none());Sourcepub fn is_empty(&self) -> bool
pub fn is_empty(&self) -> bool
Check whether the extension set is empty or not.
§Example
let mut ext = Extensions::new();
assert!(ext.is_empty());
ext.insert(5i32);
assert!(!ext.is_empty());Sourcepub fn len(&self) -> usize
pub fn len(&self) -> usize
Get the number of extensions available.
§Example
let mut ext = Extensions::new();
assert_eq!(ext.len(), 0);
ext.insert(5i32);
assert_eq!(ext.len(), 1);Sourcepub fn extend(&mut self, other: Self)
pub fn extend(&mut self, other: Self)
Extends self with another Extensions.
If an instance of a specific type exists in both, the one in self is overwritten with the
one from other.
§Example
let mut ext_a = Extensions::new();
ext_a.insert(8u8);
ext_a.insert(16u16);
let mut ext_b = Extensions::new();
ext_b.insert(4u8);
ext_b.insert("hello");
ext_a.extend(ext_b);
assert_eq!(ext_a.len(), 3);
assert_eq!(ext_a.get::<u8>(), Some(&4u8));
assert_eq!(ext_a.get::<u16>(), Some(&16u16));
assert_eq!(ext_a.get::<&'static str>().copied(), Some("hello"));Trait Implementations§
Source§impl<T: Send + 'static + Sync> Backend<Request<T, ()>> for MemoryStorage<T>
impl<T: Send + 'static + Sync> Backend<Request<T, ()>> for MemoryStorage<T>
Source§impl<T, Ctx> Backend<Request<T, Ctx>> for RequestStream<Request<T, Ctx>>
impl<T, Ctx> Backend<Request<T, Ctx>> for RequestStream<Request<T, Ctx>>
Source§impl<'de, Args, Ctx> Deserialize<'de> for Request<Args, Ctx>where
Args: Deserialize<'de>,
Ctx: Deserialize<'de>,
impl<'de, Args, Ctx> Deserialize<'de> for Request<Args, Ctx>where
Args: Deserialize<'de>,
Ctx: Deserialize<'de>,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl<Req, Ctx> FromRequest<Request<Req, Ctx>> for Attempt
impl<Req, Ctx> FromRequest<Request<Req, Ctx>> for Attempt
Source§impl<Req, Ctx> FromRequest<Request<Req, Ctx>> for Namespace
impl<Req, Ctx> FromRequest<Request<Req, Ctx>> for Namespace
Source§impl<Req, Ctx> FromRequest<Request<Req, Ctx>> for TaskId
impl<Req, Ctx> FromRequest<Request<Req, Ctx>> for TaskId
Source§impl<SV, A, Req, Ctx, Cdc> Service<Request<Req, Ctx>> for AckService<SV, A, Req, Ctx, Cdc>where
SV: Service<Request<Req, Ctx>> + Send + 'static,
SV::Error: Into<BoxDynError> + Send + 'static,
SV::Future: Send + 'static,
A: Ack<Req, SV::Response, Cdc, Context = Ctx> + Send + 'static + Clone,
Req: 'static + Send,
SV::Response: Send + Serialize,
<A as Ack<Req, SV::Response, Cdc>>::Context: Send + Clone + 'static,
Ctx: Clone,
impl<SV, A, Req, Ctx, Cdc> Service<Request<Req, Ctx>> for AckService<SV, A, Req, Ctx, Cdc>where
SV: Service<Request<Req, Ctx>> + Send + 'static,
SV::Error: Into<BoxDynError> + Send + 'static,
SV::Future: Send + 'static,
A: Ack<Req, SV::Response, Cdc, Context = Ctx> + Send + 'static + Clone,
Req: 'static + Send,
SV::Response: Send + Serialize,
<A as Ack<Req, SV::Response, Cdc>>::Context: Send + Clone + 'static,
Ctx: Clone,
Source§type Future = Pin<Box<dyn Future<Output = Result<<AckService<SV, A, Req, Ctx, Cdc> as Service<Request<Req, Ctx>>>::Response, <AckService<SV, A, Req, Ctx, Cdc> as Service<Request<Req, Ctx>>>::Error>> + Send>>
type Future = Pin<Box<dyn Future<Output = Result<<AckService<SV, A, Req, Ctx, Cdc> as Service<Request<Req, Ctx>>>::Response, <AckService<SV, A, Req, Ctx, Cdc> as Service<Request<Req, Ctx>>>::Error>> + Send>>
Source§impl<S, T, Req, Ctx> Service<Request<Req, Ctx>> for AddExtension<S, T>
impl<S, T, Req, Ctx> Service<Request<Req, Ctx>> for AddExtension<S, T>
Source§impl<T, F, Req, E, R, Ctx> Service<Request<Req, Ctx>> for ServiceFn<T, Req, Ctx, ()>
impl<T, F, Req, E, R, Ctx> Service<Request<Req, Ctx>> for ServiceFn<T, Req, Ctx, ()>
Source§impl<T, F, Req, E, R, Ctx, A1, A2> Service<Request<Req, Ctx>> for ServiceFn<T, Req, Ctx, (A1, A2)>where
T: FnMut(Req, A1, A2) -> F,
F: Future,
F::Output: IntoResponse<Result = Result<R, E>>,
A1: FromRequest<Request<Req, Ctx>>,
A2: FromRequest<Request<Req, Ctx>>,
E: From<Error>,
impl<T, F, Req, E, R, Ctx, A1, A2> Service<Request<Req, Ctx>> for ServiceFn<T, Req, Ctx, (A1, A2)>where
T: FnMut(Req, A1, A2) -> F,
F: Future,
F::Output: IntoResponse<Result = Result<R, E>>,
A1: FromRequest<Request<Req, Ctx>>,
A2: FromRequest<Request<Req, Ctx>>,
E: From<Error>,
Source§impl<T, F, Req, E, R, Ctx, A1, A2, A3> Service<Request<Req, Ctx>> for ServiceFn<T, Req, Ctx, (A1, A2, A3)>where
T: FnMut(Req, A1, A2, A3) -> F,
F: Future,
F::Output: IntoResponse<Result = Result<R, E>>,
A1: FromRequest<Request<Req, Ctx>>,
A2: FromRequest<Request<Req, Ctx>>,
A3: FromRequest<Request<Req, Ctx>>,
E: From<Error>,
impl<T, F, Req, E, R, Ctx, A1, A2, A3> Service<Request<Req, Ctx>> for ServiceFn<T, Req, Ctx, (A1, A2, A3)>where
T: FnMut(Req, A1, A2, A3) -> F,
F: Future,
F::Output: IntoResponse<Result = Result<R, E>>,
A1: FromRequest<Request<Req, Ctx>>,
A2: FromRequest<Request<Req, Ctx>>,
A3: FromRequest<Request<Req, Ctx>>,
E: From<Error>,
Source§impl<T, F, Req, E, R, Ctx, A1, A2, A3, A4> Service<Request<Req, Ctx>> for ServiceFn<T, Req, Ctx, (A1, A2, A3, A4)>where
T: FnMut(Req, A1, A2, A3, A4) -> F,
F: Future,
F::Output: IntoResponse<Result = Result<R, E>>,
A1: FromRequest<Request<Req, Ctx>>,
A2: FromRequest<Request<Req, Ctx>>,
A3: FromRequest<Request<Req, Ctx>>,
A4: FromRequest<Request<Req, Ctx>>,
E: From<Error>,
impl<T, F, Req, E, R, Ctx, A1, A2, A3, A4> Service<Request<Req, Ctx>> for ServiceFn<T, Req, Ctx, (A1, A2, A3, A4)>where
T: FnMut(Req, A1, A2, A3, A4) -> F,
F: Future,
F::Output: IntoResponse<Result = Result<R, E>>,
A1: FromRequest<Request<Req, Ctx>>,
A2: FromRequest<Request<Req, Ctx>>,
A3: FromRequest<Request<Req, Ctx>>,
A4: FromRequest<Request<Req, Ctx>>,
E: From<Error>,
Source§impl<T, F, Req, E, R, Ctx, A1, A2, A3, A4, A5> Service<Request<Req, Ctx>> for ServiceFn<T, Req, Ctx, (A1, A2, A3, A4, A5)>where
T: FnMut(Req, A1, A2, A3, A4, A5) -> F,
F: Future,
F::Output: IntoResponse<Result = Result<R, E>>,
A1: FromRequest<Request<Req, Ctx>>,
A2: FromRequest<Request<Req, Ctx>>,
A3: FromRequest<Request<Req, Ctx>>,
A4: FromRequest<Request<Req, Ctx>>,
A5: FromRequest<Request<Req, Ctx>>,
E: From<Error>,
impl<T, F, Req, E, R, Ctx, A1, A2, A3, A4, A5> Service<Request<Req, Ctx>> for ServiceFn<T, Req, Ctx, (A1, A2, A3, A4, A5)>where
T: FnMut(Req, A1, A2, A3, A4, A5) -> F,
F: Future,
F::Output: IntoResponse<Result = Result<R, E>>,
A1: FromRequest<Request<Req, Ctx>>,
A2: FromRequest<Request<Req, Ctx>>,
A3: FromRequest<Request<Req, Ctx>>,
A4: FromRequest<Request<Req, Ctx>>,
A5: FromRequest<Request<Req, Ctx>>,
E: From<Error>,
Source§impl<T, F, Req, E, R, Ctx, A1, A2, A3, A4, A5, A6> Service<Request<Req, Ctx>> for ServiceFn<T, Req, Ctx, (A1, A2, A3, A4, A5, A6)>where
T: FnMut(Req, A1, A2, A3, A4, A5, A6) -> F,
F: Future,
F::Output: IntoResponse<Result = Result<R, E>>,
A1: FromRequest<Request<Req, Ctx>>,
A2: FromRequest<Request<Req, Ctx>>,
A3: FromRequest<Request<Req, Ctx>>,
A4: FromRequest<Request<Req, Ctx>>,
A5: FromRequest<Request<Req, Ctx>>,
A6: FromRequest<Request<Req, Ctx>>,
E: From<Error>,
impl<T, F, Req, E, R, Ctx, A1, A2, A3, A4, A5, A6> Service<Request<Req, Ctx>> for ServiceFn<T, Req, Ctx, (A1, A2, A3, A4, A5, A6)>where
T: FnMut(Req, A1, A2, A3, A4, A5, A6) -> F,
F: Future,
F::Output: IntoResponse<Result = Result<R, E>>,
A1: FromRequest<Request<Req, Ctx>>,
A2: FromRequest<Request<Req, Ctx>>,
A3: FromRequest<Request<Req, Ctx>>,
A4: FromRequest<Request<Req, Ctx>>,
A5: FromRequest<Request<Req, Ctx>>,
A6: FromRequest<Request<Req, Ctx>>,
E: From<Error>,
Source§impl<T, F, Req, E, R, Ctx, A1, A2, A3, A4, A5, A6, A7> Service<Request<Req, Ctx>> for ServiceFn<T, Req, Ctx, (A1, A2, A3, A4, A5, A6, A7)>where
T: FnMut(Req, A1, A2, A3, A4, A5, A6, A7) -> F,
F: Future,
F::Output: IntoResponse<Result = Result<R, E>>,
A1: FromRequest<Request<Req, Ctx>>,
A2: FromRequest<Request<Req, Ctx>>,
A3: FromRequest<Request<Req, Ctx>>,
A4: FromRequest<Request<Req, Ctx>>,
A5: FromRequest<Request<Req, Ctx>>,
A6: FromRequest<Request<Req, Ctx>>,
A7: FromRequest<Request<Req, Ctx>>,
E: From<Error>,
impl<T, F, Req, E, R, Ctx, A1, A2, A3, A4, A5, A6, A7> Service<Request<Req, Ctx>> for ServiceFn<T, Req, Ctx, (A1, A2, A3, A4, A5, A6, A7)>where
T: FnMut(Req, A1, A2, A3, A4, A5, A6, A7) -> F,
F: Future,
F::Output: IntoResponse<Result = Result<R, E>>,
A1: FromRequest<Request<Req, Ctx>>,
A2: FromRequest<Request<Req, Ctx>>,
A3: FromRequest<Request<Req, Ctx>>,
A4: FromRequest<Request<Req, Ctx>>,
A5: FromRequest<Request<Req, Ctx>>,
A6: FromRequest<Request<Req, Ctx>>,
A7: FromRequest<Request<Req, Ctx>>,
E: From<Error>,
Source§impl<T, F, Req, E, R, Ctx, A1, A2, A3, A4, A5, A6, A7, A8> Service<Request<Req, Ctx>> for ServiceFn<T, Req, Ctx, (A1, A2, A3, A4, A5, A6, A7, A8)>where
T: FnMut(Req, A1, A2, A3, A4, A5, A6, A7, A8) -> F,
F: Future,
F::Output: IntoResponse<Result = Result<R, E>>,
A1: FromRequest<Request<Req, Ctx>>,
A2: FromRequest<Request<Req, Ctx>>,
A3: FromRequest<Request<Req, Ctx>>,
A4: FromRequest<Request<Req, Ctx>>,
A5: FromRequest<Request<Req, Ctx>>,
A6: FromRequest<Request<Req, Ctx>>,
A7: FromRequest<Request<Req, Ctx>>,
A8: FromRequest<Request<Req, Ctx>>,
E: From<Error>,
impl<T, F, Req, E, R, Ctx, A1, A2, A3, A4, A5, A6, A7, A8> Service<Request<Req, Ctx>> for ServiceFn<T, Req, Ctx, (A1, A2, A3, A4, A5, A6, A7, A8)>where
T: FnMut(Req, A1, A2, A3, A4, A5, A6, A7, A8) -> F,
F: Future,
F::Output: IntoResponse<Result = Result<R, E>>,
A1: FromRequest<Request<Req, Ctx>>,
A2: FromRequest<Request<Req, Ctx>>,
A3: FromRequest<Request<Req, Ctx>>,
A4: FromRequest<Request<Req, Ctx>>,
A5: FromRequest<Request<Req, Ctx>>,
A6: FromRequest<Request<Req, Ctx>>,
A7: FromRequest<Request<Req, Ctx>>,
A8: FromRequest<Request<Req, Ctx>>,
E: From<Error>,
Source§impl<T, F, Req, E, R, Ctx, A1, A2, A3, A4, A5, A6, A7, A8, A9> Service<Request<Req, Ctx>> for ServiceFn<T, Req, Ctx, (A1, A2, A3, A4, A5, A6, A7, A8, A9)>where
T: FnMut(Req, A1, A2, A3, A4, A5, A6, A7, A8, A9) -> F,
F: Future,
F::Output: IntoResponse<Result = Result<R, E>>,
A1: FromRequest<Request<Req, Ctx>>,
A2: FromRequest<Request<Req, Ctx>>,
A3: FromRequest<Request<Req, Ctx>>,
A4: FromRequest<Request<Req, Ctx>>,
A5: FromRequest<Request<Req, Ctx>>,
A6: FromRequest<Request<Req, Ctx>>,
A7: FromRequest<Request<Req, Ctx>>,
A8: FromRequest<Request<Req, Ctx>>,
A9: FromRequest<Request<Req, Ctx>>,
E: From<Error>,
impl<T, F, Req, E, R, Ctx, A1, A2, A3, A4, A5, A6, A7, A8, A9> Service<Request<Req, Ctx>> for ServiceFn<T, Req, Ctx, (A1, A2, A3, A4, A5, A6, A7, A8, A9)>where
T: FnMut(Req, A1, A2, A3, A4, A5, A6, A7, A8, A9) -> F,
F: Future,
F::Output: IntoResponse<Result = Result<R, E>>,
A1: FromRequest<Request<Req, Ctx>>,
A2: FromRequest<Request<Req, Ctx>>,
A3: FromRequest<Request<Req, Ctx>>,
A4: FromRequest<Request<Req, Ctx>>,
A5: FromRequest<Request<Req, Ctx>>,
A6: FromRequest<Request<Req, Ctx>>,
A7: FromRequest<Request<Req, Ctx>>,
A8: FromRequest<Request<Req, Ctx>>,
A9: FromRequest<Request<Req, Ctx>>,
E: From<Error>,
Source§impl<T, F, Req, E, R, Ctx, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10> Service<Request<Req, Ctx>> for ServiceFn<T, Req, Ctx, (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10)>where
T: FnMut(Req, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10) -> F,
F: Future,
F::Output: IntoResponse<Result = Result<R, E>>,
A1: FromRequest<Request<Req, Ctx>>,
A2: FromRequest<Request<Req, Ctx>>,
A3: FromRequest<Request<Req, Ctx>>,
A4: FromRequest<Request<Req, Ctx>>,
A5: FromRequest<Request<Req, Ctx>>,
A6: FromRequest<Request<Req, Ctx>>,
A7: FromRequest<Request<Req, Ctx>>,
A8: FromRequest<Request<Req, Ctx>>,
A9: FromRequest<Request<Req, Ctx>>,
A10: FromRequest<Request<Req, Ctx>>,
E: From<Error>,
impl<T, F, Req, E, R, Ctx, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10> Service<Request<Req, Ctx>> for ServiceFn<T, Req, Ctx, (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10)>where
T: FnMut(Req, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10) -> F,
F: Future,
F::Output: IntoResponse<Result = Result<R, E>>,
A1: FromRequest<Request<Req, Ctx>>,
A2: FromRequest<Request<Req, Ctx>>,
A3: FromRequest<Request<Req, Ctx>>,
A4: FromRequest<Request<Req, Ctx>>,
A5: FromRequest<Request<Req, Ctx>>,
A6: FromRequest<Request<Req, Ctx>>,
A7: FromRequest<Request<Req, Ctx>>,
A8: FromRequest<Request<Req, Ctx>>,
A9: FromRequest<Request<Req, Ctx>>,
A10: FromRequest<Request<Req, Ctx>>,
E: From<Error>,
Source§impl<T, F, Req, E, R, Ctx, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11> Service<Request<Req, Ctx>> for ServiceFn<T, Req, Ctx, (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11)>where
T: FnMut(Req, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11) -> F,
F: Future,
F::Output: IntoResponse<Result = Result<R, E>>,
A1: FromRequest<Request<Req, Ctx>>,
A2: FromRequest<Request<Req, Ctx>>,
A3: FromRequest<Request<Req, Ctx>>,
A4: FromRequest<Request<Req, Ctx>>,
A5: FromRequest<Request<Req, Ctx>>,
A6: FromRequest<Request<Req, Ctx>>,
A7: FromRequest<Request<Req, Ctx>>,
A8: FromRequest<Request<Req, Ctx>>,
A9: FromRequest<Request<Req, Ctx>>,
A10: FromRequest<Request<Req, Ctx>>,
A11: FromRequest<Request<Req, Ctx>>,
E: From<Error>,
impl<T, F, Req, E, R, Ctx, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11> Service<Request<Req, Ctx>> for ServiceFn<T, Req, Ctx, (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11)>where
T: FnMut(Req, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11) -> F,
F: Future,
F::Output: IntoResponse<Result = Result<R, E>>,
A1: FromRequest<Request<Req, Ctx>>,
A2: FromRequest<Request<Req, Ctx>>,
A3: FromRequest<Request<Req, Ctx>>,
A4: FromRequest<Request<Req, Ctx>>,
A5: FromRequest<Request<Req, Ctx>>,
A6: FromRequest<Request<Req, Ctx>>,
A7: FromRequest<Request<Req, Ctx>>,
A8: FromRequest<Request<Req, Ctx>>,
A9: FromRequest<Request<Req, Ctx>>,
A10: FromRequest<Request<Req, Ctx>>,
A11: FromRequest<Request<Req, Ctx>>,
E: From<Error>,
Source§impl<T, F, Req, E, R, Ctx, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12> Service<Request<Req, Ctx>> for ServiceFn<T, Req, Ctx, (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12)>where
T: FnMut(Req, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12) -> F,
F: Future,
F::Output: IntoResponse<Result = Result<R, E>>,
A1: FromRequest<Request<Req, Ctx>>,
A2: FromRequest<Request<Req, Ctx>>,
A3: FromRequest<Request<Req, Ctx>>,
A4: FromRequest<Request<Req, Ctx>>,
A5: FromRequest<Request<Req, Ctx>>,
A6: FromRequest<Request<Req, Ctx>>,
A7: FromRequest<Request<Req, Ctx>>,
A8: FromRequest<Request<Req, Ctx>>,
A9: FromRequest<Request<Req, Ctx>>,
A10: FromRequest<Request<Req, Ctx>>,
A11: FromRequest<Request<Req, Ctx>>,
A12: FromRequest<Request<Req, Ctx>>,
E: From<Error>,
impl<T, F, Req, E, R, Ctx, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12> Service<Request<Req, Ctx>> for ServiceFn<T, Req, Ctx, (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12)>where
T: FnMut(Req, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12) -> F,
F: Future,
F::Output: IntoResponse<Result = Result<R, E>>,
A1: FromRequest<Request<Req, Ctx>>,
A2: FromRequest<Request<Req, Ctx>>,
A3: FromRequest<Request<Req, Ctx>>,
A4: FromRequest<Request<Req, Ctx>>,
A5: FromRequest<Request<Req, Ctx>>,
A6: FromRequest<Request<Req, Ctx>>,
A7: FromRequest<Request<Req, Ctx>>,
A8: FromRequest<Request<Req, Ctx>>,
A9: FromRequest<Request<Req, Ctx>>,
A10: FromRequest<Request<Req, Ctx>>,
A11: FromRequest<Request<Req, Ctx>>,
A12: FromRequest<Request<Req, Ctx>>,
E: From<Error>,
Source§impl<T, F, Req, E, R, Ctx, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13> Service<Request<Req, Ctx>> for ServiceFn<T, Req, Ctx, (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13)>where
T: FnMut(Req, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13) -> F,
F: Future,
F::Output: IntoResponse<Result = Result<R, E>>,
A1: FromRequest<Request<Req, Ctx>>,
A2: FromRequest<Request<Req, Ctx>>,
A3: FromRequest<Request<Req, Ctx>>,
A4: FromRequest<Request<Req, Ctx>>,
A5: FromRequest<Request<Req, Ctx>>,
A6: FromRequest<Request<Req, Ctx>>,
A7: FromRequest<Request<Req, Ctx>>,
A8: FromRequest<Request<Req, Ctx>>,
A9: FromRequest<Request<Req, Ctx>>,
A10: FromRequest<Request<Req, Ctx>>,
A11: FromRequest<Request<Req, Ctx>>,
A12: FromRequest<Request<Req, Ctx>>,
A13: FromRequest<Request<Req, Ctx>>,
E: From<Error>,
impl<T, F, Req, E, R, Ctx, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13> Service<Request<Req, Ctx>> for ServiceFn<T, Req, Ctx, (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13)>where
T: FnMut(Req, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13) -> F,
F: Future,
F::Output: IntoResponse<Result = Result<R, E>>,
A1: FromRequest<Request<Req, Ctx>>,
A2: FromRequest<Request<Req, Ctx>>,
A3: FromRequest<Request<Req, Ctx>>,
A4: FromRequest<Request<Req, Ctx>>,
A5: FromRequest<Request<Req, Ctx>>,
A6: FromRequest<Request<Req, Ctx>>,
A7: FromRequest<Request<Req, Ctx>>,
A8: FromRequest<Request<Req, Ctx>>,
A9: FromRequest<Request<Req, Ctx>>,
A10: FromRequest<Request<Req, Ctx>>,
A11: FromRequest<Request<Req, Ctx>>,
A12: FromRequest<Request<Req, Ctx>>,
A13: FromRequest<Request<Req, Ctx>>,
E: From<Error>,
Source§impl<T, F, Req, E, R, Ctx, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14> Service<Request<Req, Ctx>> for ServiceFn<T, Req, Ctx, (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14)>where
T: FnMut(Req, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14) -> F,
F: Future,
F::Output: IntoResponse<Result = Result<R, E>>,
A1: FromRequest<Request<Req, Ctx>>,
A2: FromRequest<Request<Req, Ctx>>,
A3: FromRequest<Request<Req, Ctx>>,
A4: FromRequest<Request<Req, Ctx>>,
A5: FromRequest<Request<Req, Ctx>>,
A6: FromRequest<Request<Req, Ctx>>,
A7: FromRequest<Request<Req, Ctx>>,
A8: FromRequest<Request<Req, Ctx>>,
A9: FromRequest<Request<Req, Ctx>>,
A10: FromRequest<Request<Req, Ctx>>,
A11: FromRequest<Request<Req, Ctx>>,
A12: FromRequest<Request<Req, Ctx>>,
A13: FromRequest<Request<Req, Ctx>>,
A14: FromRequest<Request<Req, Ctx>>,
E: From<Error>,
impl<T, F, Req, E, R, Ctx, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14> Service<Request<Req, Ctx>> for ServiceFn<T, Req, Ctx, (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14)>where
T: FnMut(Req, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14) -> F,
F: Future,
F::Output: IntoResponse<Result = Result<R, E>>,
A1: FromRequest<Request<Req, Ctx>>,
A2: FromRequest<Request<Req, Ctx>>,
A3: FromRequest<Request<Req, Ctx>>,
A4: FromRequest<Request<Req, Ctx>>,
A5: FromRequest<Request<Req, Ctx>>,
A6: FromRequest<Request<Req, Ctx>>,
A7: FromRequest<Request<Req, Ctx>>,
A8: FromRequest<Request<Req, Ctx>>,
A9: FromRequest<Request<Req, Ctx>>,
A10: FromRequest<Request<Req, Ctx>>,
A11: FromRequest<Request<Req, Ctx>>,
A12: FromRequest<Request<Req, Ctx>>,
A13: FromRequest<Request<Req, Ctx>>,
A14: FromRequest<Request<Req, Ctx>>,
E: From<Error>,
Source§impl<T, F, Req, E, R, Ctx, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15> Service<Request<Req, Ctx>> for ServiceFn<T, Req, Ctx, (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15)>where
T: FnMut(Req, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15) -> F,
F: Future,
F::Output: IntoResponse<Result = Result<R, E>>,
A1: FromRequest<Request<Req, Ctx>>,
A2: FromRequest<Request<Req, Ctx>>,
A3: FromRequest<Request<Req, Ctx>>,
A4: FromRequest<Request<Req, Ctx>>,
A5: FromRequest<Request<Req, Ctx>>,
A6: FromRequest<Request<Req, Ctx>>,
A7: FromRequest<Request<Req, Ctx>>,
A8: FromRequest<Request<Req, Ctx>>,
A9: FromRequest<Request<Req, Ctx>>,
A10: FromRequest<Request<Req, Ctx>>,
A11: FromRequest<Request<Req, Ctx>>,
A12: FromRequest<Request<Req, Ctx>>,
A13: FromRequest<Request<Req, Ctx>>,
A14: FromRequest<Request<Req, Ctx>>,
A15: FromRequest<Request<Req, Ctx>>,
E: From<Error>,
impl<T, F, Req, E, R, Ctx, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15> Service<Request<Req, Ctx>> for ServiceFn<T, Req, Ctx, (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15)>where
T: FnMut(Req, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15) -> F,
F: Future,
F::Output: IntoResponse<Result = Result<R, E>>,
A1: FromRequest<Request<Req, Ctx>>,
A2: FromRequest<Request<Req, Ctx>>,
A3: FromRequest<Request<Req, Ctx>>,
A4: FromRequest<Request<Req, Ctx>>,
A5: FromRequest<Request<Req, Ctx>>,
A6: FromRequest<Request<Req, Ctx>>,
A7: FromRequest<Request<Req, Ctx>>,
A8: FromRequest<Request<Req, Ctx>>,
A9: FromRequest<Request<Req, Ctx>>,
A10: FromRequest<Request<Req, Ctx>>,
A11: FromRequest<Request<Req, Ctx>>,
A12: FromRequest<Request<Req, Ctx>>,
A13: FromRequest<Request<Req, Ctx>>,
A14: FromRequest<Request<Req, Ctx>>,
A15: FromRequest<Request<Req, Ctx>>,
E: From<Error>,
Source§impl<T, F, Req, E, R, Ctx, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16> Service<Request<Req, Ctx>> for ServiceFn<T, Req, Ctx, (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16)>where
T: FnMut(Req, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16) -> F,
F: Future,
F::Output: IntoResponse<Result = Result<R, E>>,
A1: FromRequest<Request<Req, Ctx>>,
A2: FromRequest<Request<Req, Ctx>>,
A3: FromRequest<Request<Req, Ctx>>,
A4: FromRequest<Request<Req, Ctx>>,
A5: FromRequest<Request<Req, Ctx>>,
A6: FromRequest<Request<Req, Ctx>>,
A7: FromRequest<Request<Req, Ctx>>,
A8: FromRequest<Request<Req, Ctx>>,
A9: FromRequest<Request<Req, Ctx>>,
A10: FromRequest<Request<Req, Ctx>>,
A11: FromRequest<Request<Req, Ctx>>,
A12: FromRequest<Request<Req, Ctx>>,
A13: FromRequest<Request<Req, Ctx>>,
A14: FromRequest<Request<Req, Ctx>>,
A15: FromRequest<Request<Req, Ctx>>,
A16: FromRequest<Request<Req, Ctx>>,
E: From<Error>,
impl<T, F, Req, E, R, Ctx, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16> Service<Request<Req, Ctx>> for ServiceFn<T, Req, Ctx, (A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16)>where
T: FnMut(Req, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16) -> F,
F: Future,
F::Output: IntoResponse<Result = Result<R, E>>,
A1: FromRequest<Request<Req, Ctx>>,
A2: FromRequest<Request<Req, Ctx>>,
A3: FromRequest<Request<Req, Ctx>>,
A4: FromRequest<Request<Req, Ctx>>,
A5: FromRequest<Request<Req, Ctx>>,
A6: FromRequest<Request<Req, Ctx>>,
A7: FromRequest<Request<Req, Ctx>>,
A8: FromRequest<Request<Req, Ctx>>,
A9: FromRequest<Request<Req, Ctx>>,
A10: FromRequest<Request<Req, Ctx>>,
A11: FromRequest<Request<Req, Ctx>>,
A12: FromRequest<Request<Req, Ctx>>,
A13: FromRequest<Request<Req, Ctx>>,
A14: FromRequest<Request<Req, Ctx>>,
A15: FromRequest<Request<Req, Ctx>>,
A16: FromRequest<Request<Req, Ctx>>,
E: From<Error>,
Source§impl<T, F, Req, E, R, Ctx, A> Service<Request<Req, Ctx>> for ServiceFn<T, Req, Ctx, A>where
T: FnMut(Req, A) -> F,
F: Future,
F::Output: IntoResponse<Result = Result<R, E>>,
A: FromRequest<Request<Req, Ctx>>,
E: From<Error>,
impl<T, F, Req, E, R, Ctx, A> Service<Request<Req, Ctx>> for ServiceFn<T, Req, Ctx, A>where
T: FnMut(Req, A) -> F,
F: Future,
F::Output: IntoResponse<Result = Result<R, E>>,
A: FromRequest<Request<Req, Ctx>>,
E: From<Error>,
Source§impl<S, Req, Ctx> Service<Request<Req, Ctx>> for TestEmitService<S>
Available on crate feature test-utils only.
impl<S, Req, Ctx> Service<Request<Req, Ctx>> for TestEmitService<S>
test-utils only.