Skip to main content

ResponseBody

Enum ResponseBody 

Source
pub enum ResponseBody<B> {
    Body(B),
    Other(Body),
}
Expand description

Response body preserving either a concrete body type or a type-erased body.

Variants§

§

Body(B)

The original concrete body.

§

Other(Body)

A type-erased body.

Implementations§

Source§

impl ResponseBody<Body>

Source

pub fn into_body<B>(self) -> ResponseBody<B>

Converts a type-erased response body to another concrete response type.

Source§

impl<B> ResponseBody<B>

Source

pub fn new(body: B) -> ResponseBody<B>

Creates a response body from a concrete body value.

Source

pub fn take_body(&mut self) -> ResponseBody<B>

Replaces this response body with Body::None and returns the original.

Source§

impl<B> ResponseBody<B>
where B: MessageBody,

Source

pub fn as_ref(&self) -> Option<&B>

Returns the concrete body, if this is ResponseBody::Body.

Trait Implementations§

Source§

impl<B> Debug for ResponseBody<B>
where B: Debug,

Source§

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

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

impl<B> From<Body> for ResponseBody<B>

Source§

fn from(b: Body) -> ResponseBody<B>

Converts to this type from the input type.
Source§

impl From<ResponseBody<Body>> for Body

Source§

fn from(b: ResponseBody<Body>) -> Body

Converts to this type from the input type.
Source§

impl<B> MessageBody for ResponseBody<B>
where B: MessageBody,

Source§

fn size(&self) -> BodySize

Returns the body size hint.
Source§

fn poll_next_chunk( &mut self, cx: &mut Context<'_>, ) -> Poll<Option<Result<Bytes, Rc<dyn Error>>>>

Polls the next body chunk.
Source§

impl<B> Stream for ResponseBody<B>
where B: MessageBody + Unpin,

Source§

type Item = Result<Bytes, Rc<dyn Error>>

Values yielded by the stream.
Source§

fn poll_next( self: Pin<&mut ResponseBody<B>>, cx: &mut Context<'_>, ) -> Poll<Option<<ResponseBody<B> as Stream>::Item>>

Attempt to pull out the next value of this stream, registering the current task for wakeup if the value is not yet available, and returning None if the stream is exhausted. Read more
§

fn size_hint(&self) -> (usize, Option<usize>)

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

Auto Trait Implementations§

§

impl<B> !RefUnwindSafe for ResponseBody<B>

§

impl<B> !Send for ResponseBody<B>

§

impl<B> !Sync for ResponseBody<B>

§

impl<B> !UnwindSafe for ResponseBody<B>

§

impl<B> Freeze for ResponseBody<B>
where B: Freeze,

§

impl<B> Unpin for ResponseBody<B>
where B: Unpin,

§

impl<B> UnsafeUnpin for ResponseBody<B>
where B: UnsafeUnpin,

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> 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.
§

impl<S, T, E> TryStream for S
where S: Stream<Item = Result<T, E>> + ?Sized,

§

type Ok = T

The type of successful values yielded by this future
§

type Error = E

The type of failures yielded by this future
§

fn try_poll_next( self: Pin<&mut S>, cx: &mut Context<'_>, ) -> Poll<Option<Result<<S as TryStream>::Ok, <S as TryStream>::Error>>>

Poll this TryStream as if it were a Stream. Read more