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