httpcodec

Struct HeadBodyEncoder

Source
pub struct HeadBodyEncoder<E>(/* private fields */);
Expand description

A body encoder mainly intended to be used for encoding HEAD responses.

HeadBodyDecoder updates HTTP header ordinally but discards all data produced by the inner encoder.

Implementations§

Source§

impl<E: BodyEncode> HeadBodyEncoder<E>

Source

pub fn new(inner: E) -> Self

Makes a new HeadBodyEncoder instance.

Source

pub fn inner_ref(&self) -> &E

Returns a reference to a inner body encoder.

Source

pub fn inner_mut(&mut self) -> &mut E

Returns a mutable reference to a inner body encoder.

Source

pub fn into_inner(self) -> E

Takes ownership of HeadBodyEncoder and returns the inner body encoder.

Trait Implementations§

Source§

impl<E: BodyEncode> BodyEncode for HeadBodyEncoder<E>

Source§

fn update_header(&self, header: &mut HeaderMut<'_>) -> Result<()>

This method is called before starting to encode a HTTP body. Read more
Source§

impl<E: Debug> Debug for HeadBodyEncoder<E>

Source§

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

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

impl<E: Default> Default for HeadBodyEncoder<E>

Source§

fn default() -> HeadBodyEncoder<E>

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

impl<E: BodyEncode> Encode for HeadBodyEncoder<E>

Source§

type Item = <E as Encode>::Item

The type of items to be encoded.
Source§

fn encode(&mut self, _buf: &mut [u8], _eos: Eos) -> Result<usize>

Encodes the items in the encoder and writes the encoded bytes to the given buffer. Read more
Source§

fn start_encoding(&mut self, item: Self::Item) -> Result<()>

Tries to start encoding the given item. Read more
Source§

fn is_idle(&self) -> bool

Returns true if there are no items to be encoded in the encoder, otherwise false. Read more
Source§

fn requiring_bytes(&self) -> ByteCount

Returns the number of bytes required to encode all the items in the encoder. Read more
Source§

impl<E: BodyEncode> SizedEncode for HeadBodyEncoder<E>

Source§

fn exact_requiring_bytes(&self) -> u64

Returns the exact number of bytes required to encode all the items remaining in the encoder.

Auto Trait Implementations§

§

impl<E> Freeze for HeadBodyEncoder<E>
where E: Freeze,

§

impl<E> RefUnwindSafe for HeadBodyEncoder<E>
where E: RefUnwindSafe,

§

impl<E> Send for HeadBodyEncoder<E>
where E: Send,

§

impl<E> Sync for HeadBodyEncoder<E>
where E: Sync,

§

impl<E> Unpin for HeadBodyEncoder<E>
where E: Unpin,

§

impl<E> UnwindSafe for HeadBodyEncoder<E>
where E: 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> EncodeExt for T
where T: Encode,

Source§

fn with_item(item: Self::Item) -> Result<Self, Error>
where Self: Default,

Creates a new encoder instance that has the given initial item. Read more
Source§

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

Creates an encoder for modifying encoding errors produced by self. Read more
Source§

fn map_from<T, F>(self, f: F) -> MapFrom<Self, T, F>
where F: Fn(T) -> Self::Item,

Creates an encoder that converts items into ones that suited to the self encoder by calling the given function. Read more
Source§

fn try_map_from<T, E, F>(self, f: F) -> TryMapFrom<Self, T, E, F>
where F: Fn(T) -> Result<Self::Item, E>, Error: From<E>,

Creates an encoder that tries to convert items into ones that suited to the self encoder by calling the given function. Read more
Source§

fn optional(self) -> Optional<Self>

Creates an encoder that represents an optional encoder. Read more
Source§

fn max_bytes(self, n: u64) -> MaxBytes<Self>

Creates an encoder that will fail if the number of encoded bytes of an item exceeds n. Read more
Source§

fn length(self, n: u64) -> Length<Self>

Creates an encoder that required to encode each item exactly at the specified number of bytes. Read more
Source§

fn chain<T>(self, other: T) -> TupleEncoder<(Self, T)>
where T: Encode,

Takes two encoders and creates a new encoder that encodes both items in sequence. Read more
Source§

fn repeat<I>(self) -> Repeat<Self, I>
where I: Iterator<Item = Self::Item>,

Creates an encoder that repeats encoding of Self::Item. Read more
Source§

fn pre_encode(self) -> PreEncode<Self>

Creates an encoder that pre-encodes items when start_encoding method is called. Read more
Source§

fn slice(self) -> Slice<Self>

Creates an encoder that makes it possible to slice the encoded byte sequence in arbitrary units. Read more
Source§

fn last(self, item: Self::Item) -> Last<Self>

Creates an encoder that cannot accept any more items except the given one.
Source§

fn encode_into_bytes(&mut self, item: Self::Item) -> Result<Vec<u8>, Error>

Encodes the given item and returns the resulting bytes. 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> IoEncodeExt for T
where T: Encode,

Source§

fn encode_to_write_buf<B>(&mut self, buf: &mut WriteBuf<B>) -> Result<(), Error>
where B: AsMut<[u8]>,

Encodes the items remaining in the encoder and writes the encoded bytes to the given write buffer.
Source§

fn encode_all<W>(&mut self, writer: W) -> Result<(), Error>
where W: Write,

Encodes all of the items remaining in the encoder and writes the encoded bytes to the given writer. Read more
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.