pub trait Handler<D, R, E, I, O>: Clone + 'static where
R: Future<Output = Result<Json<O>, E>>,
E: ResponseError + 'static,
I: Serialize + DeserializeOwned + 'static,
O: Serialize + DeserializeOwned + 'static, {
fn call(&self, param: (HttpRequest, Data<D>, I)) -> R;
}
impl<F, D, R, E, I, O> Handler<D, R, E, I, O> for F where
F: 'static + Clone + Fn(HttpRequest, Data<D>, I) -> R,
R: Future<Output = Result<Json<O>, E>>,
E: ResponseError + 'static,
I: Serialize + DeserializeOwned + 'static,
O: Serialize + DeserializeOwned + 'static,