Skip to main content

Encoder

Struct Encoder 

Source
pub struct Encoder<B> { /* private fields */ }
Expand description

Response body encoder.

Compresses a response body with the selected content encoding.

Implementations§

Source§

impl<B: MessageBody> Encoder<B>

Source

pub fn response( encoding: ContentEncoding, head: &mut ResponseHead, body: ResponseBody<B>, ) -> ResponseBody<B>

Wrap a response body in an encoder for encoding.

On success the Content-Encoding header is set and chunked transfer-encoding is enabled. The body is returned unchanged if the encoding is not supported, is Identity or Auto, if the response already has a Content-Encoding header, if the status is 101 Switching Protocols or 204 No Content, or if the body is empty or its size is known to be below 1KiB.

Trait Implementations§

Source§

impl<B: Debug> Debug for Encoder<B>

Source§

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

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

impl<B: MessageBody> MessageBody for Encoder<B>

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.

Auto Trait Implementations§

§

impl<B> !RefUnwindSafe for Encoder<B>

§

impl<B> !Send for Encoder<B>

§

impl<B> !Sync for Encoder<B>

§

impl<B> !UnwindSafe for Encoder<B>

§

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

§

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

§

impl<B> UnsafeUnpin for Encoder<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.