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

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

A stream of Bytes, used when receiving bodies.

A good default HttpBody to use in many applications.

Implementations

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 + 'static,
    O: Into<Bytes> + '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);

Optional

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

pub fn on_upgrade(self) -> OnUpgrade

Notable traits for OnUpgrade

impl Future for OnUpgrade type Output = Result<Upgraded, Error>;
[src]

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

See the upgrade module for more.

Trait Implementations

impl Body for Body[src]

type Data = Bytes

Values yielded by the Body.

type Error = Error

The error type this Body might generate.

impl Debug for Body[src]

impl Default for Body[src]

fn default() -> Body[src]

Returns Body::empty().

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

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

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

Optional

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

impl From<Bytes> for Body[src]

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

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

impl From<String> for Body[src]

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

impl Stream for Body[src]

Optional

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

type Item = Result<Bytes>

Values yielded by the stream.

Auto Trait Implementations

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> Instrument for T[src]

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

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

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]