HeadParser

Trait HeadParser 

Source
pub trait HeadParser {
    // Required methods
    fn new() -> Self;
    fn with_config(config: HeadParseConfig) -> Self;
    fn get_headers(&self) -> &HeaderMap<HeaderValue>;
    fn get_version(&self) -> &Version;
    fn parse<R: BufRead>(
        &mut self,
        r: &mut R,
    ) -> Result<HeadParseOutput, HeadParseError>;

    // Provided methods
    fn parse_header<R: BufRead>(
        take: &mut Take<R>,
        buf: &mut Vec<u8>,
        config: &HeadParseConfig,
        headers: &mut HeaderMap<HeaderValue>,
    ) -> Result<Option<(IsAllCompleted, usize)>, HeadParseError> { ... }
    fn parse_http_version_for_response<R: BufRead>(
        take: &mut Take<R>,
        buf: &mut Vec<u8>,
    ) -> Result<Option<(Version, usize)>, HeadParseError> { ... }
    fn parse_status_code<R: BufRead>(
        take: &mut Take<R>,
        buf: &mut Vec<u8>,
    ) -> Result<Option<(StatusCode, usize)>, HeadParseError> { ... }
    fn parse_reason_phrase<R: BufRead>(
        take: &mut Take<R>,
        buf: &mut Vec<u8>,
        config: &HeadParseConfig,
    ) -> Result<Option<(ReasonPhrase, usize)>, HeadParseError> { ... }
    fn parse_method<R: BufRead>(
        take: &mut Take<R>,
        buf: &mut Vec<u8>,
        config: &HeadParseConfig,
    ) -> Result<Option<(Method, usize)>, HeadParseError> { ... }
    fn parse_uri<R: BufRead>(
        take: &mut Take<R>,
        buf: &mut Vec<u8>,
        config: &HeadParseConfig,
    ) -> Result<Option<(Uri, usize)>, HeadParseError> { ... }
    fn parse_http_version_for_request<R: BufRead>(
        take: &mut Take<R>,
        buf: &mut Vec<u8>,
    ) -> Result<Option<(Version, usize)>, HeadParseError> { ... }
}

Required Methods§

Provided Methods§

Source

fn parse_header<R: BufRead>( take: &mut Take<R>, buf: &mut Vec<u8>, config: &HeadParseConfig, headers: &mut HeaderMap<HeaderValue>, ) -> Result<Option<(IsAllCompleted, usize)>, HeadParseError>

Source

fn parse_http_version_for_response<R: BufRead>( take: &mut Take<R>, buf: &mut Vec<u8>, ) -> Result<Option<(Version, usize)>, HeadParseError>

Source

fn parse_status_code<R: BufRead>( take: &mut Take<R>, buf: &mut Vec<u8>, ) -> Result<Option<(StatusCode, usize)>, HeadParseError>

Source

fn parse_reason_phrase<R: BufRead>( take: &mut Take<R>, buf: &mut Vec<u8>, config: &HeadParseConfig, ) -> Result<Option<(ReasonPhrase, usize)>, HeadParseError>

Source

fn parse_method<R: BufRead>( take: &mut Take<R>, buf: &mut Vec<u8>, config: &HeadParseConfig, ) -> Result<Option<(Method, usize)>, HeadParseError>

Source

fn parse_uri<R: BufRead>( take: &mut Take<R>, buf: &mut Vec<u8>, config: &HeadParseConfig, ) -> Result<Option<(Uri, usize)>, HeadParseError>

Source

fn parse_http_version_for_request<R: BufRead>( take: &mut Take<R>, buf: &mut Vec<u8>, ) -> Result<Option<(Version, usize)>, HeadParseError>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§