Struct axum_core::body::Body

source ·
pub struct Body(/* private fields */);
Expand description

The body type used in axum requests and responses.

Implementations§

source§

impl Body

source

pub fn new<B>(body: B) -> Self
where B: Body<Data = Bytes> + Send + 'static, B::Error: Into<BoxError>,

Create a new Body that wraps another http_body::Body.

source

pub fn empty() -> Self

Create an empty body.

source

pub fn from_stream<S>(stream: S) -> Self
where S: TryStream + Send + 'static, S::Ok: Into<Bytes>, S::Error: Into<BoxError>,

Create a new Body from a Stream.

source

pub fn into_data_stream(self) -> BodyDataStream

Convert the body into a Stream of data frames.

Non-data frames (such as trailers) will be discarded. Use http_body_util::BodyStream if you need a Stream of all frame types.

Trait Implementations§

source§

impl Body for Body

source§

type Data = Bytes

Values yielded by the Body.
source§

type Error = Error

The error type this Body might generate.
source§

fn poll_frame( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<Option<Result<Frame<Self::Data>, Self::Error>>>

Attempt to pull out the next data buffer of this stream.
source§

fn size_hint(&self) -> SizeHint

Returns the bounds on the remaining length of the stream. Read more
source§

fn is_end_stream(&self) -> bool

Returns true when the end of stream has been reached. Read more
source§

impl Debug for Body

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Body

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

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

source§

fn from(buf: &'static [u8]) -> Self

Converts to this type from the input type.
source§

impl From<&'static str> for Body

source§

fn from(buf: &'static str) -> Self

Converts to this type from the input type.
source§

impl From<()> for Body

source§

fn from(_: ()) -> Self

Converts to this type from the input type.
source§

impl From<Bytes> for Body

source§

fn from(buf: Bytes) -> Self

Converts to this type from the input type.
source§

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

source§

fn from(buf: Cow<'static, [u8]>) -> Self

Converts to this type from the input type.
source§

impl From<Cow<'static, str>> for Body

source§

fn from(buf: Cow<'static, str>) -> Self

Converts to this type from the input type.
source§

impl From<String> for Body

source§

fn from(buf: String) -> Self

Converts to this type from the input type.
source§

impl From<Vec<u8>> for Body

source§

fn from(buf: Vec<u8>) -> Self

Converts to this type from the input type.
source§

impl<S> FromRequest<S> for Body
where S: Send + Sync,

source§

type Rejection = Infallible

If the extractor fails it’ll use this “rejection” type. A rejection is a kind of error that can be converted into a response.
source§

fn from_request<'life0, 'async_trait>( req: Request, _: &'life0 S, ) -> Pin<Box<dyn Future<Output = Result<Self, Self::Rejection>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Perform the extraction.
source§

impl IntoResponse for Body

source§

fn into_response(self) -> Response

Create a response.

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> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> BodyExt for T
where T: Body + ?Sized,

source§

fn frame(&mut self) -> Frame<'_, Self>
where Self: Unpin,

Returns a future that resolves to the next Frame, if any.
source§

fn map_frame<F, B>(self, f: F) -> MapFrame<Self, F>
where Self: Sized, F: FnMut(Frame<Self::Data>) -> Frame<B>, B: Buf,

Maps this body’s frame to a different kind.
source§

fn map_err<F, E>(self, f: F) -> MapErr<Self, F>
where Self: Sized, F: FnMut(Self::Error) -> E,

Maps this body’s error value to a different value.
source§

fn boxed(self) -> BoxBody<Self::Data, Self::Error>
where Self: Sized + Send + Sync + 'static,

Turn this body into a boxed trait object.
source§

fn boxed_unsync(self) -> UnsyncBoxBody<Self::Data, Self::Error>
where Self: Sized + Send + 'static,

Turn this body into a boxed trait object that is !Sync.
source§

fn collect(self) -> Collect<Self>
where Self: Sized,

Turn this body into Collected body which will collect all the DATA frames and trailers.
source§

fn with_trailers<F>(self, trailers: F) -> WithTrailers<Self, F>
where Self: Sized, F: Future<Output = Option<Result<HeaderMap, Self::Error>>>,

Add trailers to the body. Read more
source§

fn into_data_stream(self) -> BodyDataStream<Self>
where Self: Sized,

Turn this body into BodyDataStream.
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 16 bytes