Struct actix_web::web::Payload[][src]

pub struct Payload(pub Payload);

Extract a request’s raw payload stream.

See PayloadConfig for important notes when using this advanced extractor.

Examples

use std::future::Future;
use futures_util::stream::StreamExt as _;
use actix_web::{post, web};

// `body: web::Payload` parameter extracts raw payload stream from request
#[post("/")]
async fn index(mut body: web::Payload) -> actix_web::Result<String> {
    // for demonstration only; in a normal case use the `Bytes` extractor
    // collect payload stream into a bytes object
    let mut bytes = web::BytesMut::new();
    while let Some(item) = body.next().await {
        bytes.extend_from_slice(&item?);
    }

    Ok(format!("Request Body Bytes:\n{:?}", bytes))
}

Implementations

impl Payload[src]

pub fn into_inner(self) -> Payload[src]

Unwrap to inner Payload type.

Trait Implementations

impl FromRequest for Payload[src]

See here for example of usage as an extractor.

type Config = PayloadConfig

Configuration for this extractor.

type Error = Error

The associated error which can be returned.

type Future = Ready<Result<Payload, Error>>

Future that resolves to a Self.

impl Stream for Payload[src]

type Item = Result<Bytes, PayloadError>

Values yielded by the stream.

Auto Trait Implementations

impl !RefUnwindSafe for Payload

impl !Send for Payload

impl !Sync for Payload

impl Unpin for Payload

impl !UnwindSafe for Payload

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> StreamExt for T where
    T: Stream + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<S, T, E> TryStream for S where
    S: Stream<Item = Result<T, E>> + ?Sized
[src]

type Ok = T

The type of successful values yielded by this future

type Error = E

The type of failures yielded by this future

impl<S> TryStreamExt for S where
    S: TryStream + ?Sized
[src]

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,