[][src]Struct hyper::body::Body

#[must_use = "streams do nothing unless polled"]
pub struct Body { /* fields omitted */ }

A stream of Chunks, used when receiving bodies.

A good default Payload to use in many applications.

Methods

impl Body[src]

pub fn empty() -> Body[src]

Create an empty Body stream.

Example

use hyper::{Body, Request};

// create a `GET /` request
let get = Request::new(Body::empty());

pub fn channel() -> (Sender, Body)[src]

Create a Body stream with an associated sender half.

Useful when wanting to stream chunks from another thread.

pub fn wrap_stream<S, O, E>(stream: S) -> Body where
    S: Stream<Item = Result<O, E>> + Send + Sync + 'static,
    O: Into<Chunk> + 'static,
    E: Into<Box<dyn StdError + Send + Sync>> + 'static, 
[src]

Wrap a futures Stream in a box inside Body.

Example

let chunks: Vec<Result<_, ::std::io::Error>> = vec![
    Ok("hello"),
    Ok(" "),
    Ok("world"),
];

let stream = futures_util::stream::iter(chunks);

let body = Body::wrap_stream(stream);

Unstable

This function requires enabling the unstable-stream feature in your Cargo.toml.

pub async fn next<'_>(&'_ mut self) -> Option<Result<Chunk>>[src]

dox

Important traits for OnUpgrade
pub fn on_upgrade(self) -> OnUpgrade[src]

Converts this Body into a Future of a pending HTTP upgrade.

See the upgrade module for more.

Trait Implementations

impl Default for Body[src]

impl From<Box<dyn Stream<Item = Result<Chunk, Box<dyn Error + 'static + Send + Sync>>> + 'static + Send + Sync>> for Body[src]

Unstable

This function requires enabling the unstable-stream feature in your Cargo.toml.

impl From<Chunk> for Body[src]

impl From<Bytes> for Body[src]

impl From<Vec<u8>> for Body[src]

impl From<&'static [u8]> for Body[src]

impl From<Cow<'static, [u8]>> for Body[src]

impl From<String> for Body[src]

impl From<&'static str> for Body[src]

impl From<Cow<'static, str>> for Body[src]

impl Debug for Body[src]

impl Stream for Body[src]

Unstable

This function requires enabling the unstable-stream feature in your Cargo.toml.

type Item = Result<Chunk>

Values yielded by the stream.

impl Body for Body[src]

type Data = Chunk

Values yielded by the Body.

type Error = Error

The error type this Body might generate.

Auto Trait Implementations

impl Send for Body

impl Unpin for Body

impl Sync for Body

impl !UnwindSafe for Body

impl !RefUnwindSafe for Body

Blanket Implementations

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

impl<T> From<T> for T[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<T> BorrowMut<T> for T where
    T: ?Sized
[src]

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

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

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

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]