Trait http_muncher::ParserHandler [] [src]

pub trait ParserHandler {
    fn on_url(&mut self, &[u8]) -> bool { ... }
    fn on_status(&mut self, &[u8]) -> bool { ... }
    fn on_header_field(&mut self, &[u8]) -> bool { ... }
    fn on_header_value(&mut self, &[u8]) -> bool { ... }
    fn on_body(&mut self, &[u8]) -> bool { ... }
    fn on_headers_complete(&mut self) -> bool { ... }
    fn on_message_begin(&mut self) -> bool { ... }
    fn on_message_complete(&mut self) -> bool { ... }
    fn on_chunk_header(&mut self) -> bool { ... }
    fn on_chunk_complete(&mut self) -> bool { ... }
}

Used to define a set of callbacks in your code. They would be called by the parser whenever new data is available. You should bear in mind that the data might get in your callbacks in a partial form.

Return bool as a result of each function call - either true for the "OK, go on" status, or false when you want to stop the parser after the function call has ended.

All callbacks provide a default no-op implementation (i.e. they just return true).

Provided Methods

fn on_url(&mut self, &[u8]) -> bool

Called when the URL part of a request becomes available. E.g. for GET /forty-two HTTP/1.1 it will be called with "/forty_two" argument.

It's not called in the response mode.

fn on_status(&mut self, &[u8]) -> bool

Called when a response status becomes available.

It's not called in the request mode.

fn on_header_field(&mut self, &[u8]) -> bool

Called for each HTTP header key part.

fn on_header_value(&mut self, &[u8]) -> bool

Called for each HTTP header value part.

fn on_body(&mut self, &[u8]) -> bool

Called with body text as an argument when the new part becomes available.

fn on_headers_complete(&mut self) -> bool

Notified when all available headers have been processed.

fn on_message_begin(&mut self) -> bool

Notified when the parser receives first bytes to parse.

fn on_message_complete(&mut self) -> bool

Notified when the parser has finished its job.

fn on_chunk_header(&mut self) -> bool

fn on_chunk_complete(&mut self) -> bool

Implementors