Skip to main content

Payload

Enum Payload 

Source
pub enum Payload {
    None,
    H1(Payload),
    H2(Payload),
    Stream(PayloadStream),
}
Expand description

An HTTP request payload.

Variants§

§

None

No payload is available.

§

H1(Payload)

An HTTP/1 payload stream.

§

H2(Payload)

An HTTP/2 payload stream.

§

Stream(PayloadStream)

A custom payload stream.

Implementations§

Source§

impl Payload

Source

pub fn take(&mut self) -> Self

Takes the payload and replaces it with Payload::None.

Source

pub fn from_stream<S>(stream: S) -> Self
where S: Stream<Item = Result<Bytes, PayloadError>> + 'static,

Creates a payload from a local asynchronous byte stream.

The stream is pinned and does not need to implement Unpin. It must yield HTTP PayloadError values directly.

Source

pub async fn recv(&mut self) -> Option<Result<Bytes, PayloadError>>

Waits for and returns the next payload chunk.

Source

pub fn poll_recv( &mut self, cx: &mut Context<'_>, ) -> Poll<Option<Result<Bytes, PayloadError>>>

Polls for the next payload chunk.

Registers the current task for wakeup when data is not yet available and returns Poll::Ready(None) after the payload is exhausted.

Source

pub fn trailers(&self) -> Option<HeaderMap>

Returns the trailer fields received at the end of the payload.

Trailers are available after the payload is complete. HTTP/1 chunked and HTTP/2 payloads provide trailers.

Trait Implementations§

Source§

impl Debug for Payload

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Payload

Source§

fn default() -> Payload

Returns the “default value” for a type. Read more
Source§

impl From<Payload> for Payload

Source§

fn from(v: Payload) -> Self

Converts to this type from the input type.
Source§

impl From<Payload> for Payload

Source§

fn from(v: Payload) -> Self

Converts to this type from the input type.
Source§

impl From<Pin<Box<dyn Stream<Item = Result<Bytes, PayloadError>>>>> for Payload

Source§

fn from(pl: PayloadStream) -> Self

Converts to this type from the input type.
Source§

impl From<Receiver<PayloadError>> for Payload

Source§

fn from(v: Receiver<PayloadError>) -> Self

Converts to this type from the input type.
Source§

impl Stream for Payload

Source§

type Item = Result<Bytes, PayloadError>

Values yielded by the stream.
Source§

fn poll_next( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<Option<Self::Item>>

Attempt to pull out the next value of this stream, registering the current task for wakeup if the value is not yet available, and returning None if the stream is exhausted. Read more
§

fn size_hint(&self) -> (usize, Option<usize>)

Returns the bounds on the remaining length of the stream. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

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

§

type Ok = T

The type of successful values yielded by this future
§

type Error = E

The type of failures yielded by this future
§

fn try_poll_next( self: Pin<&mut S>, cx: &mut Context<'_>, ) -> Poll<Option<Result<<S as TryStream>::Ok, <S as TryStream>::Error>>>

Poll this TryStream as if it were a Stream. Read more