use std::fmt; use std::str::{FromStr}; use {Header, HttpDate, Raw}; use parsing::from_one_raw_str;
/// `Warning` header, defined in [RFC7234](https://tools.ietf.org/html/rfc7234#section-5.5) /// /// The `Warning` header field can be be used to carry additional information /// about the status or transformation of a message that might not be reflected /// in the status code. This header is sometimes used as backwards /// compatible way to notify of a deprecated API. /// /// # ABNF /// /// ```text /// Warning = 1#warning-value /// warning-value = warn-code SP warn-agent SP warn-text /// [ SP warn-date ] /// warn-code = 3DIGIT /// warn-agent = ( uri-host [ ":" port ] ) / pseudonym /// ; the name or pseudonym of the server adding /// ; the Warning header field, for use in debugging /// ; a single "-" is recommended when agent unknown /// warn-text = quoted-string /// warn-date = DQUOTE HTTP-date DQUOTE /// ``` /// /// # Example values /// /// * `Warning: 112 - "network down" "Sat, 25 Aug 2012 23:34:45 GMT"` /// * `Warning: 299 - "Deprecated API " "Tue, 15 Nov 1994 08:12:31 GMT"` /// * `Warning: 299 api.hyper.rs:8080 "Deprecated API : use newapi.hyper.rs instead."` /// * `Warning: 299 api.hyper.rs:8080 "Deprecated API : use newapi.hyper.rs instead." "Tue, 15 Nov 1994 08:12:31 GMT"` /// /// # Examples /// /// ``` /// use headers::{Headers, Warning}; /// /// let mut headers = Headers::new(); /// headers.set( /// Warning{ /// code: 299, /// agent: "api.hyper.rs".to_owned(), /// text: "Deprecated".to_owned(), /// date: None /// } /// ); /// ``` /// /// ``` /// use headers::{Headers, HttpDate, Warning}; /// /// let mut headers = Headers::new(); /// headers.set( /// Warning{ /// code: 299, /// agent: "api.hyper.rs".to_owned(), /// text: "Deprecated".to_owned(), /// date: "Tue, 15 Nov 1994 08:12:31 GMT".parse::<HttpDate>().ok() /// } /// ); /// ``` /// /// ``` /// use std::time::SystemTime; /// use headers::{Headers, Warning}; /// /// let mut headers = Headers::new(); /// headers.set( /// Warning{ /// code: 199, /// agent: "api.hyper.rs".to_owned(), /// text: "Deprecated".to_owned(), /// date: Some(SystemTime::now().into()) /// } /// ); /// ``` #[derive(PartialEq, Clone, Debug)] pubstruct Warning { /// The 3 digit warn code. pub code: u16, /// The name or pseudonym of the server adding this header. pub agent: String, /// The warning message describing the error. pub text: String, /// An optional warning date. pub date: Option<HttpDate>
}
impl Header for Warning { fn header_name() -> &'static str { static NAME: &'static str = "Warning";
NAME
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.