2\r\nTo:<sip:operator@cs.columbia.edu>;tag=287447\r\nUnsupported:\
100rel\r\nUser-Agent:rust-sip\r\nVia:SIP/2.0/UDP \
pc33.atlanta.com;branch=z9hG4bK776asdhds\r\nWarning:370 devnull \
- \"Failure\"\r\n\r\n")
+ \"Failure\"\r\nWWW-Authenticate:Digest realm=\"biloxi.com\"\r\n\r\n")
});
let finished = request.and_then(|(socket, _request)| {
tag!(b","),
warning)));
+named!(www_authenticate_header<Challenge>, preceded!(
+ tag!(b"WWW-Authenticate:"),
+ challenge));
+
named!(pub header<Header>, alt!(
// RFC 3261 Headers
accept_header => { |a| Header::Accept(a) } |
unsupported_header => { |u| Header::Unsupported(u) } |
user_agent_header => { |u| Header::UserAgent(u) } |
via_header => { |v| Header::Via(v) } |
- warning_header => { |w| Header::Warning(w) }
+ warning_header => { |w| Header::Warning(w) } |
+ www_authenticate_header => { |w| Header::WwwAuthenticate(w) }
));
UserAgent(Vec<Server>),
Via(Vec<Via>),
Warning(Vec<Warning>),
+ WwwAuthenticate(Challenge),
Extension { name: String, value: String },
}