[][src]Trait actix_web::AsyncResponder

pub trait AsyncResponder<I, E>: Sized {
    fn responder(self) -> Box<Future<Item = I, Error = E>>;

Convenience trait that converts Future object to a Boxed future

For example loading json from request's body is async operation.

use actix_web::{
    App, AsyncResponder, Error, HttpMessage, HttpRequest, HttpResponse,
use futures::future::Future;

#[derive(Deserialize, Debug)]
struct MyObj {
    name: String,

fn index(mut req: HttpRequest) -> Box<Future<Item = HttpResponse, Error = Error>> {
    req.json()                   // <- get JsonBody future
       .and_then(|val: MyObj| {  // <- deserialized value
    // Construct boxed future by using `AsyncResponder::responder()` method

Required Methods

Convert to a boxed future


impl<F, I, E> AsyncResponder<I, E> for F where
    F: Future<Item = I, Error = E> + 'static,
    I: Responder + 'static,
    E: Into<Error> + 'static,