axum::body

Struct 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) -> Body
where B: Body<Data = Bytes> + Send + 'static, <B as Body>::Error: Into<Box<dyn Error + Send + Sync>>,

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

Source

pub fn empty() -> Body

Create an empty body.

Source

pub fn from_stream<S>(stream: S) -> Body
where S: TryStream + Send + 'static, <S as TryStream>::Ok: Into<Bytes>, <S as TryStream>::Error: Into<Box<dyn Error + Send + Sync>>,

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 Body>, cx: &mut Context<'_>, ) -> Poll<Option<Result<Frame<<Body as Body>::Data>, <Body as Body>::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<(), Error>

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

impl Default for Body

Source§

fn default() -> Body

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

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

Source§

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

Converts to this type from the input type.
Source§

impl From<&'static str> for Body

Source§

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

Converts to this type from the input type.
Source§

impl From<()> for Body

Source§

fn from(_: ()) -> Body

Converts to this type from the input type.
Source§

impl From<Bytes> for Body

Source§

fn from(buf: Bytes) -> Body

Converts to this type from the input type.
Source§

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

Source§

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

Converts to this type from the input type.
Source§

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

Source§

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

Converts to this type from the input type.
Source§

impl From<String> for Body

Source§

fn from(buf: String) -> Body

Converts to this type from the input type.
Source§

impl From<Vec<u8>> for Body

Source§

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

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<Body>, _: &'life0 S, ) -> Pin<Box<dyn Future<Output = Result<Body, <Body as FromRequest<S>>::Rejection>> + Send + 'async_trait>>
where 'life0: 'async_trait, Body: 'async_trait,

Perform the extraction.
Source§

impl IntoResponse for Body

Source§

fn into_response(self) -> Response<Body>

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