Support MIME-Version header
authorRichard Whitehouse <github@richardwhiuk.com>
Sun, 29 Oct 2017 18:40:14 +0000 (18:40 +0000)
committerRichard Whitehouse <github@richardwhiuk.com>
Sun, 29 Oct 2017 18:40:14 +0000 (18:40 +0000)
src/codec.rs
src/parser.rs
src/types.rs

index 42a39b5dc2906ca7b29b1b8e941430dce9e28330..c6dfe924bead10822c4487860d6f5a39cd557aa4 100644 (file)
@@ -439,7 +439,8 @@ mod tests {
                            GMT\r\nError-Info:<sip:not-in-service-recording@atlanta.\
                            com>\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)| {
index 06d0db23465e6158a434791310221e9b0add04c3..7944dca8f63463bada027f16ece1ad7127eeee9e 100644 (file)
@@ -964,6 +964,13 @@ named!(max_forwards_header<u32>, 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<Header>, alt!(
 // RFC 3261 Headers
        accept_header => { |a| Header::Accept(a) } |
@@ -987,5 +994,6 @@ named!(pub header<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) }
 ));
index 05257034c3af2975e946405ebf7c0c0cb1fc53ee..ea24fcd3db1271525e3ee21b8720b39bdf09552f 100644 (file)
@@ -365,6 +365,7 @@ pub enum Header {
     From(From),
     InReplyTo(Vec<CallId>),
     MaxForwards(u32),
+    MimeVersion(u32, u32),
     To(Uri),
     Extension { name: String, value: String },
 }