ResponseBody

Struct ResponseBody 

Source
pub struct ResponseBody<B = BoxBody> { /* private fields */ }
Expand description

A unified response body type. Generic type is for custom pinned response body(type implement Stream).

Implementations§

Source§

impl ResponseBody

Source

pub fn box_stream<B, T, E>(stream: B) -> Self
where B: Stream<Item = Result<T, E>> + 'static, T: Into<Bytes>, E: Into<BodyError>,

Construct a new Stream variant of ResponseBody with default type as BoxBody

Source§

impl<B> ResponseBody<B>

Source

pub const fn none() -> Self

indicate no body is attached to response. content-length and transfer-encoding headers would not be added to response when BodySize is used for inferring response body type.

Source

pub const fn empty() -> Self

indicate empty body is attached to response. content-length: 0 header would be added to response when BodySize is used for inferring response body type.

Source

pub const fn stream(stream: B) -> Self

Construct a new Stream variant of ResponseBody

Source

pub fn bytes<B2>(bytes: B2) -> Self
where Bytes: From<B2>,

Construct a new Bytes variant of ResponseBody

Source

pub fn into_boxed<T, E>(self) -> ResponseBody
where B: Stream<Item = Result<T, E>> + 'static, T: Into<Bytes>, E: Error + Send + Sync + 'static,

erase generic body type by boxing the variant.

Trait Implementations§

Source§

impl<B> Default for ResponseBody<B>

Source§

fn default() -> Self

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

impl<B> From<&'static [u8]> for ResponseBody<B>

Source§

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

Converts to this type from the input type.
Source§

impl<B> From<&'static str> for ResponseBody<B>

Source§

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

Converts to this type from the input type.
Source§

impl<B> From<Box<[u8]>> for ResponseBody<B>

Source§

fn from(item: Box<[u8]>) -> Self

Converts to this type from the input type.
Source§

impl<B> From<Box<str>> for ResponseBody<B>

Source§

fn from(str: Box<str>) -> Self

Converts to this type from the input type.
Source§

impl From<BoxBody> for ResponseBody

Source§

fn from(stream: BoxBody) -> Self

Converts to this type from the input type.
Source§

impl<B> From<Bytes> for ResponseBody<B>

Source§

fn from(item: Bytes) -> Self

Converts to this type from the input type.
Source§

impl<B> From<BytesMut> for ResponseBody<B>

Source§

fn from(item: BytesMut) -> Self

Converts to this type from the input type.
Source§

impl<B> From<Cow<'static, str>> for ResponseBody<B>

Source§

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

Converts to this type from the input type.
Source§

impl<B> From<NoneBody<B>> for ResponseBody

Source§

fn from(_: NoneBody<B>) -> Self

Converts to this type from the input type.
Source§

impl<B> From<Once<B>> for ResponseBody
where B: Into<Bytes>,

Source§

fn from(once: Once<B>) -> Self

Converts to this type from the input type.
Source§

impl<B> From<String> for ResponseBody<B>

Source§

fn from(item: String) -> Self

Converts to this type from the input type.
Source§

impl<B> From<Vec<u8>> for ResponseBody<B>

Source§

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

Converts to this type from the input type.
Source§

impl<B, E> Stream for ResponseBody<B>
where B: Stream<Item = Result<Bytes, E>>,

Source§

type Item = Result<Bytes, E>

Values yielded by the stream.
Source§

fn poll_next( self: Pin<&mut Self>, cx: &mut Context<'_>, ) -> Poll<Option<Self::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
Source§

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

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

impl<'__pin, B> Unpin for ResponseBody<B>
where PinnedFieldsOf<__Origin<'__pin, B>>: Unpin,

Auto Trait Implementations§

§

impl<B = BoxBody> !Freeze for ResponseBody<B>

§

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

§

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

§

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

§

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

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> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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.
Source§

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

Source§

type Ok = T

The type of successful values yielded by this future
Source§

type Error = E

The type of failures yielded by this future
Source§

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

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more