Trait ApiAsyncHandler

Source
pub trait ApiAsyncHandler<T> {
    // Required methods
    fn get_request(models: &mut HashMap<String, Option<ApiModel>>) -> ApiRequest;
    fn get_response(
        models: &mut HashMap<String, Option<ApiModel>>,
    ) -> ApiResponse;
}

Required Methods§

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<F, Fut, Res> ApiAsyncHandler<()> for F
where F: FnOnce() -> Fut + Clone + Send + 'static, Fut: Future<Output = Res> + Send, Res: ApiResultExtractor,

Source§

impl<F, Fut, Res, T1> ApiAsyncHandler<(T1,)> for F
where F: FnOnce(T1) -> Fut + Clone + Send + 'static, Fut: Future<Output = Res> + Send, Res: ApiResultExtractor, T1: ApiParamExtractor,

Source§

impl<F, Fut, Res, T1, T2> ApiAsyncHandler<(T1, T2)> for F
where F: FnOnce(T1, T2) -> Fut + Clone + Send + 'static, Fut: Future<Output = Res> + Send, Res: ApiResultExtractor, T1: ApiParamExtractor, T2: ApiParamExtractor,

Source§

impl<F, Fut, Res, T1, T2, T3> ApiAsyncHandler<(T1, T2, T3)> for F
where F: FnOnce(T1, T2, T3) -> Fut + Clone + Send + 'static, Fut: Future<Output = Res> + Send, Res: ApiResultExtractor, T1: ApiParamExtractor, T2: ApiParamExtractor, T3: ApiParamExtractor,

Source§

impl<F, Fut, Res, T1, T2, T3, T4> ApiAsyncHandler<(T1, T2, T3, T4)> for F
where F: FnOnce(T1, T2, T3, T4) -> Fut + Clone + Send + 'static, Fut: Future<Output = Res> + Send, Res: ApiResultExtractor, T1: ApiParamExtractor, T2: ApiParamExtractor, T3: ApiParamExtractor, T4: ApiParamExtractor,

Source§

impl<F, Fut, Res, T1, T2, T3, T4, T5> ApiAsyncHandler<(T1, T2, T3, T4, T5)> for F
where F: FnOnce(T1, T2, T3, T4, T5) -> Fut + Clone + Send + 'static, Fut: Future<Output = Res> + Send, Res: ApiResultExtractor, T1: ApiParamExtractor, T2: ApiParamExtractor, T3: ApiParamExtractor, T4: ApiParamExtractor, T5: ApiParamExtractor,

Source§

impl<F, Fut, Res, T1, T2, T3, T4, T5, T6> ApiAsyncHandler<(T1, T2, T3, T4, T5, T6)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6) -> Fut + Clone + Send + 'static, Fut: Future<Output = Res> + Send, Res: ApiResultExtractor, T1: ApiParamExtractor, T2: ApiParamExtractor, T3: ApiParamExtractor, T4: ApiParamExtractor, T5: ApiParamExtractor, T6: ApiParamExtractor,

Source§

impl<F, Fut, Res, T1, T2, T3, T4, T5, T6, T7> ApiAsyncHandler<(T1, T2, T3, T4, T5, T6, T7)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6, T7) -> Fut + Clone + Send + 'static, Fut: Future<Output = Res> + Send, Res: ApiResultExtractor, T1: ApiParamExtractor, T2: ApiParamExtractor, T3: ApiParamExtractor, T4: ApiParamExtractor, T5: ApiParamExtractor, T6: ApiParamExtractor, T7: ApiParamExtractor,

Source§

impl<F, Fut, Res, T1, T2, T3, T4, T5, T6, T7, T8> ApiAsyncHandler<(T1, T2, T3, T4, T5, T6, T7, T8)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8) -> Fut + Clone + Send + 'static, Fut: Future<Output = Res> + Send, Res: ApiResultExtractor, T1: ApiParamExtractor, T2: ApiParamExtractor, T3: ApiParamExtractor, T4: ApiParamExtractor, T5: ApiParamExtractor, T6: ApiParamExtractor, T7: ApiParamExtractor, T8: ApiParamExtractor,

Source§

impl<F, Fut, Res, T1, T2, T3, T4, T5, T6, T7, T8, T9> ApiAsyncHandler<(T1, T2, T3, T4, T5, T6, T7, T8, T9)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9) -> Fut + Clone + Send + 'static, Fut: Future<Output = Res> + Send, Res: ApiResultExtractor, T1: ApiParamExtractor, T2: ApiParamExtractor, T3: ApiParamExtractor, T4: ApiParamExtractor, T5: ApiParamExtractor, T6: ApiParamExtractor, T7: ApiParamExtractor, T8: ApiParamExtractor, T9: ApiParamExtractor,

Source§

impl<F, Fut, Res, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> ApiAsyncHandler<(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) -> Fut + Clone + Send + 'static, Fut: Future<Output = Res> + Send, Res: ApiResultExtractor, T1: ApiParamExtractor, T2: ApiParamExtractor, T3: ApiParamExtractor, T4: ApiParamExtractor, T5: ApiParamExtractor, T6: ApiParamExtractor, T7: ApiParamExtractor, T8: ApiParamExtractor, T9: ApiParamExtractor, T10: ApiParamExtractor,

Source§

impl<F, Fut, Res, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> ApiAsyncHandler<(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) -> Fut + Clone + Send + 'static, Fut: Future<Output = Res> + Send, Res: ApiResultExtractor, T1: ApiParamExtractor, T2: ApiParamExtractor, T3: ApiParamExtractor, T4: ApiParamExtractor, T5: ApiParamExtractor, T6: ApiParamExtractor, T7: ApiParamExtractor, T8: ApiParamExtractor, T9: ApiParamExtractor, T10: ApiParamExtractor, T11: ApiParamExtractor,

Source§

impl<F, Fut, Res, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> ApiAsyncHandler<(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) -> Fut + Clone + Send + 'static, Fut: Future<Output = Res> + Send, Res: ApiResultExtractor, T1: ApiParamExtractor, T2: ApiParamExtractor, T3: ApiParamExtractor, T4: ApiParamExtractor, T5: ApiParamExtractor, T6: ApiParamExtractor, T7: ApiParamExtractor, T8: ApiParamExtractor, T9: ApiParamExtractor, T10: ApiParamExtractor, T11: ApiParamExtractor, T12: ApiParamExtractor,

Source§

impl<F, Fut, Res, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> ApiAsyncHandler<(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) -> Fut + Clone + Send + 'static, Fut: Future<Output = Res> + Send, Res: ApiResultExtractor, T1: ApiParamExtractor, T2: ApiParamExtractor, T3: ApiParamExtractor, T4: ApiParamExtractor, T5: ApiParamExtractor, T6: ApiParamExtractor, T7: ApiParamExtractor, T8: ApiParamExtractor, T9: ApiParamExtractor, T10: ApiParamExtractor, T11: ApiParamExtractor, T12: ApiParamExtractor, T13: ApiParamExtractor,

Source§

impl<F, Fut, Res, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> ApiAsyncHandler<(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) -> Fut + Clone + Send + 'static, Fut: Future<Output = Res> + Send, Res: ApiResultExtractor, T1: ApiParamExtractor, T2: ApiParamExtractor, T3: ApiParamExtractor, T4: ApiParamExtractor, T5: ApiParamExtractor, T6: ApiParamExtractor, T7: ApiParamExtractor, T8: ApiParamExtractor, T9: ApiParamExtractor, T10: ApiParamExtractor, T11: ApiParamExtractor, T12: ApiParamExtractor, T13: ApiParamExtractor, T14: ApiParamExtractor,

Source§

impl<F, Fut, Res, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> ApiAsyncHandler<(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) -> Fut + Clone + Send + 'static, Fut: Future<Output = Res> + Send, Res: ApiResultExtractor, T1: ApiParamExtractor, T2: ApiParamExtractor, T3: ApiParamExtractor, T4: ApiParamExtractor, T5: ApiParamExtractor, T6: ApiParamExtractor, T7: ApiParamExtractor, T8: ApiParamExtractor, T9: ApiParamExtractor, T10: ApiParamExtractor, T11: ApiParamExtractor, T12: ApiParamExtractor, T13: ApiParamExtractor, T14: ApiParamExtractor, T15: ApiParamExtractor,

Source§

impl<F, Fut, Res, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> ApiAsyncHandler<(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16)> for F
where F: FnOnce(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16) -> Fut + Clone + Send + 'static, Fut: Future<Output = Res> + Send, Res: ApiResultExtractor, T1: ApiParamExtractor, T2: ApiParamExtractor, T3: ApiParamExtractor, T4: ApiParamExtractor, T5: ApiParamExtractor, T6: ApiParamExtractor, T7: ApiParamExtractor, T8: ApiParamExtractor, T9: ApiParamExtractor, T10: ApiParamExtractor, T11: ApiParamExtractor, T12: ApiParamExtractor, T13: ApiParamExtractor, T14: ApiParamExtractor, T15: ApiParamExtractor, T16: ApiParamExtractor,