From: Richard Whitehouse Date: Sun, 29 Oct 2017 18:40:14 +0000 (+0000) Subject: Support MIME-Version header X-Git-Url: https://git.richardwhiuk.com/?a=commitdiff_plain;h=48915b7aa4432c4ca1e97c5f0048f5711fb7c1fa;p=rust-sip.git Support MIME-Version header --- diff --git a/src/codec.rs b/src/codec.rs index 42a39b5..c6dfe92 100644 --- a/src/codec.rs +++ b/src/codec.rs @@ -439,7 +439,8 @@ mod tests { GMT\r\nError-Info:\r\nExpires:30\r\nFrom:sip:+12125551212@server.phone2net.com;\ tag=887s\r\nIn-Reply-To:70710@saturn.bell-tel.com,17320@saturn.\ - bell-tel.com\r\nVia: localhost\r\n\r\n") + bell-tel.com\r\nMax-Forwards:32\r\nMIME-Version:2.0\r\nVia: \ + localhost\r\n\r\n") }); let finished = request.and_then(|(socket, _request)| { diff --git a/src/parser.rs b/src/parser.rs index 06d0db2..7944dca 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -964,6 +964,13 @@ named!(max_forwards_header, preceded!( tag!(b"Max-Forwards:"), number)); +named!(mime_version_header<(u32, u32)>, preceded!( + tag!(b"MIME-Version:"), + separated_pair!( + number, + tag!(b"."), + number))); + named!(pub header
, alt!( // RFC 3261 Headers accept_header => { |a| Header::Accept(a) } | @@ -987,5 +994,6 @@ named!(pub header
, alt!( expires_header => { |e| Header::Expires(e) } | from_header => { |f| Header::From(f) } | in_reply_to_header => { |i| Header::InReplyTo(i) } | - max_forwards_header => { |m| Header::MaxForwards(m) } + max_forwards_header => { |m| Header::MaxForwards(m) } | + mime_version_header => { |(m, v)| Header::MimeVersion(m, v) } )); diff --git a/src/types.rs b/src/types.rs index 0525703..ea24fcd 100644 --- a/src/types.rs +++ b/src/types.rs @@ -365,6 +365,7 @@ pub enum Header { From(From), InReplyTo(Vec), MaxForwards(u32), + MimeVersion(u32, u32), To(Uri), Extension { name: String, value: String }, }