pub struct Body { /* private fields */ }Expand description
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.
Implementations§
Source§impl Body
impl Body
Sourcepub fn empty() -> Body
pub fn empty() -> Body
Create an empty Body stream.
§Example
use hyper::{Body, Request};
// create a `GET /` request
let get = Request::new(Body::empty());Sourcepub fn channel() -> (Sender, Body)
pub fn channel() -> (Sender, Body)
Create a Body stream with an associated sender half.
Useful when wanting to stream chunks from another thread.
Sourcepub fn wrap_stream<S>(stream: S) -> Body
pub fn wrap_stream<S>(stream: S) -> Body
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);Sourcepub fn on_upgrade(self) -> OnUpgrade
pub fn on_upgrade(self) -> OnUpgrade
Converts this Body into a Future of a pending HTTP upgrade.
See the upgrade module for more.
Trait Implementations§
Source§impl Body for Body
impl Body for Body
Source§fn poll_data(
&mut self,
) -> Result<Async<Option<<Body as Body>::Data>>, <Body as Body>::Error>
fn poll_data( &mut self, ) -> Result<Async<Option<<Body as Body>::Data>>, <Body as Body>::Error>
Attempt to pull out the next data buffer of this stream.
Source§fn poll_trailers(
&mut self,
) -> Result<Async<Option<HeaderMap>>, <Body as Body>::Error>
fn poll_trailers( &mut self, ) -> Result<Async<Option<HeaderMap>>, <Body as Body>::Error>
Poll for an optional single
HeaderMap of trailers. Read moreSource§fn is_end_stream(&self) -> bool
fn is_end_stream(&self) -> bool
Returns
true when the end of stream has been reached. Read moreSource§impl From<Box<dyn Stream<Item = Chunk, Error = Box<dyn Error + Send + Sync>> + Send>> for Body
impl From<Box<dyn Stream<Item = Chunk, Error = Box<dyn Error + Send + Sync>> + Send>> for Body
Source§impl Payload for Body
impl Payload for Body
Source§fn poll_data(
&mut self,
) -> Result<Async<Option<<Body as Payload>::Data>>, <Body as Payload>::Error>
fn poll_data( &mut self, ) -> Result<Async<Option<<Body as Payload>::Data>>, <Body as Payload>::Error>
Poll for a
Data buffer. Read moreSource§fn poll_trailers(
&mut self,
) -> Result<Async<Option<HeaderMap>>, <Body as Payload>::Error>
fn poll_trailers( &mut self, ) -> Result<Async<Option<HeaderMap>>, <Body as Payload>::Error>
Poll for an optional single
HeaderMap of trailers. Read moreSource§fn is_end_stream(&self) -> bool
fn is_end_stream(&self) -> bool
A hint that the
Body is complete, and doesn’t need to be polled more. Read moreSource§impl Stream for Body
impl Stream for Body
Source§fn poll(
&mut self,
) -> Result<Async<Option<<Body as Stream>::Item>>, <Body as Stream>::Error>
fn poll( &mut self, ) -> Result<Async<Option<<Body as Stream>::Item>>, <Body as Stream>::Error>
Attempt to pull out the next value of this stream, returning
None if
the stream is finished. Read moreSource§fn wait(self) -> Wait<Self>where
Self: Sized,
fn wait(self) -> Wait<Self>where
Self: Sized,
Creates an iterator which blocks the current thread until each item of
this stream is resolved. Read more
Source§fn into_future(self) -> StreamFuture<Self>where
Self: Sized,
fn into_future(self) -> StreamFuture<Self>where
Self: Sized,
Converts this stream into a
Future. Read moreSource§fn filter<F>(self, f: F) -> Filter<Self, F>
fn filter<F>(self, f: F) -> Filter<Self, F>
Filters the values produced by this stream according to the provided
predicate. Read more
Source§fn filter_map<F, B>(self, f: F) -> FilterMap<Self, F>
fn filter_map<F, B>(self, f: F) -> FilterMap<Self, F>
Filters the values produced by this stream while simultaneously mapping
them to a different type. Read more
Source§fn then<F, U>(self, f: F) -> Then<Self, F, U>
fn then<F, U>(self, f: F) -> Then<Self, F, U>
Chain on a computation for when a value is ready, passing the resulting
item to the provided closure
f. Read moreSource§fn and_then<F, U>(self, f: F) -> AndThen<Self, F, U>
fn and_then<F, U>(self, f: F) -> AndThen<Self, F, U>
Chain on a computation for when a value is ready, passing the successful
results to the provided closure
f. Read moreSource§fn or_else<F, U>(self, f: F) -> OrElse<Self, F, U>
fn or_else<F, U>(self, f: F) -> OrElse<Self, F, U>
Chain on a computation for when an error happens, passing the
erroneous result to the provided closure
f. Read moreSource§fn collect(self) -> Collect<Self>where
Self: Sized,
fn collect(self) -> Collect<Self>where
Self: Sized,
Collect all of the values of this stream into a vector, returning a
future representing the result of that computation. Read more
Source§fn concat2(self) -> Concat2<Self>
fn concat2(self) -> Concat2<Self>
Concatenate all results of a stream into a single extendable
destination, returning a future representing the end result. Read more
Source§fn concat(self) -> Concat<Self>
fn concat(self) -> Concat<Self>
👎Deprecated since 0.1.14: please use
Stream::concat2 insteadConcatenate all results of a stream into a single extendable
destination, returning a future representing the end result. Read more
Source§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>,
Self: Sized,
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>,
Self: Sized,
Execute an accumulating computation over a stream, collecting all the
values into one final result. Read more
Source§fn flatten(self) -> Flatten<Self>
fn flatten(self) -> Flatten<Self>
Flattens a stream of streams into just one continuous stream. Read more
Source§fn skip_while<P, R>(self, pred: P) -> SkipWhile<Self, P, R>
fn skip_while<P, R>(self, pred: P) -> SkipWhile<Self, P, R>
Skip elements on this stream while the predicate provided resolves to
true. Read moreSource§fn take_while<P, R>(self, pred: P) -> TakeWhile<Self, P, R>
fn take_while<P, R>(self, pred: P) -> TakeWhile<Self, P, R>
Take elements from this stream while the predicate provided resolves to
true. Read moreSource§fn for_each<F, U>(self, f: F) -> ForEach<Self, F, U>
fn for_each<F, U>(self, f: F) -> ForEach<Self, F, U>
Runs this stream to completion, executing the provided closure for each
element on the stream. Read more
Source§fn from_err<E>(self) -> FromErr<Self, E>
fn from_err<E>(self) -> FromErr<Self, E>
Map this stream’s error to any error implementing
From for
this stream’s Error, returning a new stream. Read moreSource§fn take(self, amt: u64) -> Take<Self>where
Self: Sized,
fn take(self, amt: u64) -> Take<Self>where
Self: Sized,
Creates a new stream of at most
amt items of the underlying stream. Read moreSource§fn skip(self, amt: u64) -> Skip<Self>where
Self: Sized,
fn skip(self, amt: u64) -> Skip<Self>where
Self: Sized,
Creates a new stream which skips
amt items of the underlying stream. Read moreSource§fn fuse(self) -> Fuse<Self>where
Self: Sized,
fn fuse(self) -> Fuse<Self>where
Self: Sized,
Fuse a stream such that
poll will never again be called once it has
finished. Read moreSource§fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
Borrows a stream, rather than consuming it. Read more
Source§fn catch_unwind(self) -> CatchUnwind<Self>where
Self: Sized + UnwindSafe,
fn catch_unwind(self) -> CatchUnwind<Self>where
Self: Sized + UnwindSafe,
Catches unwinding panics while polling the stream. Read more
Source§fn buffered(self, amt: usize) -> Buffered<Self>
fn buffered(self, amt: usize) -> Buffered<Self>
An adaptor for creating a buffered list of pending futures. Read more
Source§fn buffer_unordered(self, amt: usize) -> BufferUnordered<Self>
fn buffer_unordered(self, amt: usize) -> BufferUnordered<Self>
An adaptor for creating a buffered list of pending futures (unordered). Read more
Source§fn merge<S>(self, other: S) -> Merge<Self, S>
fn merge<S>(self, other: S) -> Merge<Self, S>
👎Deprecated: functionality provided by
select nowAn adapter for merging the output of two streams. Read more
Source§fn zip<S>(self, other: S) -> Zip<Self, S>
fn zip<S>(self, other: S) -> Zip<Self, S>
An adapter for zipping two streams together. Read more
Source§fn peekable(self) -> Peekable<Self>where
Self: Sized,
fn peekable(self) -> Peekable<Self>where
Self: Sized,
Creates a new stream which exposes a
peek method. Read moreSource§fn chunks(self, capacity: usize) -> Chunks<Self>where
Self: Sized,
fn chunks(self, capacity: usize) -> Chunks<Self>where
Self: Sized,
An adaptor for chunking up items of the stream inside a vector. Read more
Source§fn select<S>(self, other: S) -> Select<Self, S>
fn select<S>(self, other: S) -> Select<Self, S>
Creates a stream that selects the next element from either this stream
or the provided one, whichever is ready first. Read more
Source§fn forward<S>(self, sink: S) -> Forward<Self, S>
fn forward<S>(self, sink: S) -> Forward<Self, S>
A future that completes after the given stream has been fully processed
into the sink, including flushing. Read more
Source§fn split(self) -> (SplitSink<Self>, SplitStream<Self>)
fn split(self) -> (SplitSink<Self>, SplitStream<Self>)
Source§fn inspect<F>(self, f: F) -> Inspect<Self, F>
fn inspect<F>(self, f: F) -> Inspect<Self, F>
Do something with each item of this stream, afterwards passing it on. Read more
Source§fn inspect_err<F>(self, f: F) -> InspectErr<Self, F>
fn inspect_err<F>(self, f: F) -> InspectErr<Self, F>
Do something with the error of this stream, afterwards passing it on. Read more
Auto Trait Implementations§
impl !Freeze for Body
impl !RefUnwindSafe for Body
impl Send for Body
impl !Sync for Body
impl Unpin for Body
impl !UnwindSafe for Body
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> StreamExt for T
impl<T> StreamExt for T
Source§fn throttle(self, duration: Duration) -> Throttle<Self>where
Self: Sized,
fn throttle(self, duration: Duration) -> Throttle<Self>where
Self: Sized,
Throttle down the stream by enforcing a fixed delay between items. Read more