pub struct Body { /* private fields */ }Expand description
An implementation for http_body::Body.
Implementations§
Source§impl Body
impl Body
Sourcepub fn from_incoming(incoming: Incoming) -> Self
pub fn from_incoming(incoming: Incoming) -> Self
Create a body by Incoming.
Compared to Body::from_body, this function avoids overhead of allocating by Box
and dynamic dispatch by dyn http_body::Body.
Sourcepub fn from_stream<S>(stream: S) -> Self
pub fn from_stream<S>(stream: S) -> Self
Create a body by a Stream with Item = Result<Frame<Bytes>, BoxError>.
Sourcepub fn from_body<B>(body: B) -> Self
pub fn from_body<B>(body: B) -> Self
Create a body by another http_body::Body instance.
Sourcepub fn try_clone(&self) -> Option<Self>
pub fn try_clone(&self) -> Option<Self>
Try to clone the body.
Only in-memory bodies (created from bytes, string, Body::empty, etc.) can be cloned,
and the clone is cheap since the underlying Bytes is reference-counted (a shallow
clone, the payload is not copied).
Streaming bodies (Body::from_stream, Body::from_incoming, Body::from_body) are
one-shot and cannot be replayed, so this method returns None for them. This is mainly
used by redirect-following, where a request may need to be re-sent: a request with a
non-cloneable body will not be followed across redirects.
Trait Implementations§
Source§impl Body for Body
impl Body for Body
Source§impl From<LinkedBytes> for Body
impl From<LinkedBytes> for Body
Source§fn from(value: LinkedBytes) -> Self
fn from(value: LinkedBytes) -> Self
impl<'pin> Unpin for Bodywhere
PinnedFieldsOf<__Body<'pin>>: Unpin,
Auto Trait Implementations§
impl !Freeze for Body
impl !RefUnwindSafe for Body
impl !UnwindSafe for Body
impl Send for Body
impl Sync for Body
impl UnsafeUnpin for Body
Blanket Implementations§
Source§impl<T> BodyConversion for T
impl<T> BodyConversion for T
Source§fn into_bytes(
self,
) -> impl Future<Output = Result<Bytes, BodyConvertError>> + Send
fn into_bytes( self, ) -> impl Future<Output = Result<Bytes, BodyConvertError>> + Send
Bytes.Source§fn into_vec(
self,
) -> impl Future<Output = Result<Vec<u8>, BodyConvertError>> + Send
fn into_vec( self, ) -> impl Future<Output = Result<Vec<u8>, BodyConvertError>> + Send
Vec<u8>.Source§fn into_string(
self,
) -> impl Future<Output = Result<String, BodyConvertError>> + Send
fn into_string( self, ) -> impl Future<Output = Result<String, BodyConvertError>> + Send
String.Source§unsafe fn into_string_unchecked(
self,
) -> impl Future<Output = Result<String, BodyConvertError>> + Send
unsafe fn into_string_unchecked( self, ) -> impl Future<Output = Result<String, BodyConvertError>> + Send
Source§fn into_faststr(
self,
) -> impl Future<Output = Result<FastStr, BodyConvertError>> + Send
fn into_faststr( self, ) -> impl Future<Output = Result<FastStr, BodyConvertError>> + Send
FastStr.Source§unsafe fn into_faststr_unchecked(
self,
) -> impl Future<Output = Result<FastStr, BodyConvertError>> + Send
unsafe fn into_faststr_unchecked( self, ) -> impl Future<Output = Result<FastStr, BodyConvertError>> + Send
Source§fn into_json<T>(
self,
) -> impl Future<Output = Result<T, BodyConvertError>> + Sendwhere
T: DeserializeOwned,
fn into_json<T>(
self,
) -> impl Future<Output = Result<T, BodyConvertError>> + Sendwhere
T: DeserializeOwned,
json only.DeserializeOwned.Source§impl<T> BodyExt for T
impl<T> BodyExt for T
Source§fn frame(&mut self) -> Frame<'_, Self> ⓘwhere
Self: Unpin,
fn frame(&mut self) -> Frame<'_, Self> ⓘwhere
Self: Unpin,
Frame, if any.Source§fn map_frame<F, B>(self, f: F) -> MapFrame<Self, F>
fn map_frame<F, B>(self, f: F) -> MapFrame<Self, F>
Source§fn map_err<F, E>(self, f: F) -> MapErr<Self, F>
fn map_err<F, E>(self, f: F) -> MapErr<Self, F>
Source§fn boxed_unsync(self) -> UnsyncBoxBody<Self::Data, Self::Error>
fn boxed_unsync(self) -> UnsyncBoxBody<Self::Data, Self::Error>
Source§fn collect(self) -> Collect<Self> ⓘwhere
Self: Sized,
fn collect(self) -> Collect<Self> ⓘwhere
Self: Sized,
Collected body which will collect all the DATA frames
and trailers.Source§fn with_trailers<F>(self, trailers: F) -> WithTrailers<Self, F>
fn with_trailers<F>(self, trailers: F) -> WithTrailers<Self, F>
Source§fn into_data_stream(self) -> BodyDataStream<Self>where
Self: Sized,
fn into_data_stream(self) -> BodyDataStream<Self>where
Self: Sized,
BodyDataStream.