Struct parsip::Request [] [src]

pub struct Request<'headers, 'buf: 'headers> {
    pub method: Option<&'buf str>,
    pub path: Option<&'buf str>,
    pub version: Option<SipVersion>,
    pub headers: &'headers mut [Header<'buf>],

A parsed Request.

The optional values will be None if a parse was not complete, and did not parse the associated property. This allows you to inspect the parts that could be parsed, before reading more, in case you wish to exit early.


let buf = b"INVITE SIP/2.0\r\nHost:";
let mut headers = [parsip::EMPTY_HEADER; 16];
let mut req = parsip::Request::new(&mut headers);
let res = req.parse(buf);
if let parsip::IResult::Incomplete(_) = res {
    match req.path {
        Some(ref path) => {
            // check router for path.
            // is unreachable? we could stop parsing
        None => {
            // must read more and parse again


The request method, such as INVITE.

The request path, such as

The request version, such as SIP/2.0.

The request headers.


impl<'h, 'b> Request<'h, 'b>

Creates a new Request, using a slice of headers you allocate.

Request-Line  =  Method SP Request-URI SP SIP-Version CRLF

Trait Implementations

impl<'headers, 'buf: 'headers> Debug for Request<'headers, 'buf>

Formats the value using the given formatter.

impl<'headers, 'buf: 'headers> PartialEq for Request<'headers, 'buf>

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.