[][src]Struct hyper::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.

Also implements futures::Stream, so stream combinators may be used.

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>(stream: S) -> Body where
    S: Stream + Send + 'static,
    S::Error: Into<Box<dyn Error + Send + Sync>>,
    Chunk: From<S::Item>, 
[src][]

Wrap a futures Stream in a box inside Body.

Example

let chunks = vec![
    "hello",
    " ",
    "world",
];

let stream = futures::stream::iter_ok::<_, ::std::io::Error>(chunks);

let body = Body::wrap_stream(stream);

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 Payload for Body[src][+]

type Data = Chunk

A buffer of bytes representing a single chunk of a body.

type Error = Error

The error type of this stream.

impl Default for Body[src][+]

impl From<Chunk> for Body[src][+]

impl From<Box<dyn Stream<Item = Chunk, Error = Box<dyn Error + 'static + Sync + Send>> + 'static + Send>> 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][+]

type Item = Chunk

The type of item this stream will yield on success.

type Error = Error

The type of error this stream may generate.

fn wait(self) -> Wait<Self>[src][]

Creates an iterator which blocks the current thread until each item of this stream is resolved. Read more

fn into_future(self) -> StreamFuture<Self>[src][]

Converts this stream into a Future. Read more

fn map<U, F>(self, f: F) -> Map<Self, F> where
    F: FnMut(Self::Item) -> U, 
[src][]

Converts a stream of type T to a stream of type U. Read more

fn map_err<U, F>(self, f: F) -> MapErr<Self, F> where
    F: FnMut(Self::Error) -> U, 
[src][]

Converts a stream of error type T to a stream of error type U. Read more

fn filter<F>(self, f: F) -> Filter<Self, F> where
    F: FnMut(&Self::Item) -> bool
[src][]

Filters the values produced by this stream according to the provided predicate. Read more

fn filter_map<F, B>(self, f: F) -> FilterMap<Self, F> where
    F: FnMut(Self::Item) -> Option<B>, 
[src][]

Filters the values produced by this stream while simultaneously mapping them to a different type. Read more

fn then<F, U>(self, f: F) -> Then<Self, F, U> where
    F: FnMut(Result<Self::Item, Self::Error>) -> U,
    U: IntoFuture
[src][]

Chain on a computation for when a value is ready, passing the resulting item to the provided closure f. Read more

fn and_then<F, U>(self, f: F) -> AndThen<Self, F, U> where
    F: FnMut(Self::Item) -> U,
    U: IntoFuture<Error = Self::Error>, 
[src][]

Chain on a computation for when a value is ready, passing the successful results to the provided closure f. Read more

fn or_else<F, U>(self, f: F) -> OrElse<Self, F, U> where
    F: FnMut(Self::Error) -> U,
    U: IntoFuture<Item = Self::Item>, 
[src][]

Chain on a computation for when an error happens, passing the erroneous result to the provided closure f. Read more

fn collect(self) -> Collect<Self>[src][]

Collect all of the values of this stream into a vector, returning a future representing the result of that computation. Read more

fn concat2(self) -> Concat2<Self> where
    Self::Item: Extend<<Self::Item as IntoIterator>::Item>,
    Self::Item: IntoIterator,
    Self::Item: Default
[src][]

Concatenate all results of a stream into a single extendable destination, returning a future representing the end result. Read more

fn concat(self) -> Concat<Self> where
    Self::Item: Extend<<Self::Item as IntoIterator>::Item>,
    Self::Item: IntoIterator
[src][]

Deprecated since 0.1.14:

please use Stream::concat2 instead

Concatenate all results of a stream into a single extendable destination, returning a future representing the end result. Read more

fn fold<F, T, Fut>(self, init: T, f: F) -> Fold<Self, F, Fut, T> where
    F: FnMut(T, Self::Item) -> Fut,
    Fut: IntoFuture<Item = T>,
    Self::Error: From<<Fut as IntoFuture>::Error>, 
[src][]

Execute an accumulating computation over a stream, collecting all the values into one final result. Read more

fn flatten(self) -> Flatten<Self> where
    Self::Item: Stream,
    <Self::Item as Stream>::Error: From<Self::Error>, 
[src][]

Flattens a stream of streams into just one continuous stream. Read more

fn skip_while<P, R>(self, pred: P) -> SkipWhile<Self, P, R> where
    P: FnMut(&Self::Item) -> R,
    R: IntoFuture<Item = bool, Error = Self::Error>, 
[src][]

Skip elements on this stream while the predicate provided resolves to true. Read more

fn take_while<P, R>(self, pred: P) -> TakeWhile<Self, P, R> where
    P: FnMut(&Self::Item) -> R,
    R: IntoFuture<Item = bool, Error = Self::Error>, 
[src][]

Take elements from this stream while the predicate provided resolves to true. Read more

fn for_each<F, U>(self, f: F) -> ForEach<Self, F, U> where
    F: FnMut(Self::Item) -> U,
    U: IntoFuture<Item = (), Error = Self::Error>, 
[src][]

Runs this stream to completion, executing the provided closure for each element on the stream. Read more

fn from_err<E>(self) -> FromErr<Self, E> where
    E: From<Self::Error>, 
[src][]

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

fn take(self, amt: u64) -> Take<Self>[src][]

Creates a new stream of at most amt items of the underlying stream. Read more

fn skip(self, amt: u64) -> Skip<Self>[src][]

Creates a new stream which skips amt items of the underlying stream. Read more

fn fuse(self) -> Fuse<Self>[src][]

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

fn by_ref(&mut self) -> &mut Self[src][]

Borrows a stream, rather than consuming it. Read more

fn catch_unwind(self) -> CatchUnwind<Self> where
    Self: UnwindSafe
[src][]

Catches unwinding panics while polling the stream. Read more

fn buffered(self, amt: usize) -> Buffered<Self> where
    Self::Item: IntoFuture,
    <Self::Item as IntoFuture>::Error == Self::Error
[src][]

An adaptor for creating a buffered list of pending futures. Read more

fn buffer_unordered(self, amt: usize) -> BufferUnordered<Self> where
    Self::Item: IntoFuture,
    <Self::Item as IntoFuture>::Error == Self::Error
[src][]

An adaptor for creating a buffered list of pending futures (unordered). Read more

fn merge<S>(self, other: S) -> Merge<Self, S> where
    S: Stream<Error = Self::Error>, 
[src][]

Deprecated:

functionality provided by select now

An adapter for merging the output of two streams. Read more

fn zip<S>(self, other: S) -> Zip<Self, S> where
    S: Stream<Error = Self::Error>, 
[src][]

An adapter for zipping two streams together. Read more

fn chain<S>(self, other: S) -> Chain<Self, S> where
    S: Stream<Item = Self::Item, Error = Self::Error>, 
[src][]

Adapter for chaining two stream. Read more

fn peekable(self) -> Peekable<Self>[src][]

Creates a new stream which exposes a peek method. Read more

fn chunks(self, capacity: usize) -> Chunks<Self>[src][]

An adaptor for chunking up items of the stream inside a vector. Read more

fn select<S>(self, other: S) -> Select<Self, S> where
    S: Stream<Item = Self::Item, Error = Self::Error>, 
[src][]

Creates a stream that selects the next element from either this stream or the provided one, whichever is ready first. Read more

fn forward<S>(self, sink: S) -> Forward<Self, S> where
    S: Sink<SinkItem = Self::Item>,
    Self::Error: From<<S as Sink>::SinkError>, 
[src][]

A future that completes after the given stream has been fully processed into the sink, including flushing. Read more

fn split(self) -> (SplitSink<Self>, SplitStream<Self>) where
    Self: Sink
[src][]

Splits this Stream + Sink object into separate Stream and Sink objects. Read more

fn inspect<F>(self, f: F) -> Inspect<Self, F> where
    F: FnMut(&Self::Item), 
[src][]

Do something with each item of this stream, afterwards passing it on. Read more

fn inspect_err<F>(self, f: F) -> InspectErr<Self, F> where
    F: FnMut(&Self::Error), 
[src][]

Do something with the error of this stream, afterwards passing it on. Read more

Auto Trait Implementations

impl Send for Body

impl !Sync for Body

Blanket Implementations

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

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

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

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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

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

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

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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

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

fn throttle(self, duration: Duration) -> Throttle<Self>[src][]

Throttle down the stream by enforcing a fixed delay between items. Read more

fn enumerate(self) -> Enumerate<Self>[src][]

Creates a new stream which gives the current iteration count as well as the next value. Read more

fn timeout(self, timeout: Duration) -> Timeout<Self>[src][]

Creates a new stream which allows self until timeout. Read more

impl<T> Erased for T[src]