RespParser

Struct RespParser 

Source
pub struct RespParser { /* private fields */ }
Expand description

A single Instance of the ResponseParser that is used to parse HTTP-Responses

Implementations§

Source§

impl RespParser

Source

pub fn new_capacity(head_cap: usize) -> Self

Creates a new Instance of the Response-Parser with the given head_cap as its initial capacity for the HTTP-Head (First-Line + Headers)

Source

pub fn clear(&mut self)

Clears the internal buffers and resets everything to the start and makes it ready to receive and parse another Response

This enables the reuse of a single parser, which helps to avoid extra allocations that are not needed.

Source

pub fn block_parse(&mut self, bytes: &[u8]) -> (bool, usize)

Parses the given byte-chunk

Returns:

  • True if the parser is done and finish can be called
  • False if it is not yet done with parsing
  • Some when there was still data in the given buffer, which was not consumed/used
Source

pub fn finish<'a, 'b>(&'a mut self) -> Result<Response<'b>, ParseError>
where 'a: 'b,

Finalizes the Response that is currently being Parsed by the Parser and returns a Response-Instance with the parsed Data

Source

pub fn finish_owned<'a, 'owned>( &'a mut self, ) -> Result<Response<'owned>, ParseError>

Finalizes the Response that is currently being Parsed by the Parser and returns an owned Response-Instance with the parsed Data. This means that the Response is independant of the Parser, unlike the normal finish Function. This freedom comes at the cost of more memory allocations and therefore less performance, so only use this where needed.

Auto Trait Implementations§

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.