Struct actix_web::dev::JsonBody [] [src]

pub struct JsonBody<T, U: DeserializeOwned> { /* fields omitted */ }

Request payload json parser that resolves to a deserialized T value.

Returns error:

  • content type is not application/json
  • content length is greater than 256k

Server example

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

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

fn index(mut req: HttpRequest) -> Box<Future<Item=HttpResponse, Error=Error>> {
    req.json()                   // <- get JsonBody future
       .from_err()
       .and_then(|val: MyObj| {  // <- deserialized value
           println!("==== BODY ==== {:?}", val);
           Ok(HttpResponse::Ok().into())
       }).responder()
}

Methods

impl<T, U: DeserializeOwned> JsonBody<T, U>
[src]

[src]

Create JsonBody for request.

[src]

Change max size of payload. By default max size is 256Kb

Trait Implementations

impl<T, U: DeserializeOwned + 'static> Future for JsonBody<T, U> where
    T: HttpMessage + Stream<Item = Bytes, Error = PayloadError> + 'static, 
[src]

The type of value that this future will resolved with if it is successful. Read more

The type of error that this future will resolve with if it fails in a normal fashion. Read more

[src]

Query this future to see if its value has become available, registering interest if it is not. Read more

[src]

Block the current thread until this future is resolved. Read more

[src]

Map this future's result to a different type, returning a new future of the resulting type. Read more

[src]

Map this future's error to a different error, returning a new future. Read more

[src]

Map this future's error to any error implementing From for this future's Error, returning a new future. Read more

[src]

Chain on a computation for when a future finished, passing the result of the future to the provided closure f. Read more

[src]

Execute another future after this one has resolved successfully. Read more

[src]

Execute another future if this one resolves with an error. Read more

[src]

Waits for either one of two futures to complete. Read more

[src]

Waits for either one of two differently-typed futures to complete. Read more

[src]

Joins the result of two futures, waiting for them both to complete. Read more

[src]

Same as join, but with more futures.

[src]

Same as join, but with more futures.

[src]

Same as join, but with more futures.

[src]

Convert this future into a single element stream. Read more

[src]

Flatten the execution of this future when the successful result of this future is itself another future. Read more

[src]

Flatten the execution of this future when the successful result of this future is a stream. Read more

[src]

Fuse a future such that poll will never again be called once it has completed. Read more

[src]

Do something with the item of a future, passing it on. Read more

[src]

Catches unwinding panics while polling the future. Read more

[src]

Create a cloneable handle to this future where all handles will resolve to the same result. Read more

Auto Trait Implementations

impl<T, U> !Send for JsonBody<T, U>

impl<T, U> !Sync for JsonBody<T, U>