@@ -59,11 +59,12 @@ impl<'a> Forwarded<'a> {
59
59
/// # use http_types::{proxies::Forwarded, Method::Get, Request, Url, Result};
60
60
/// # fn main() -> Result<()> {
61
61
/// let mut request = Request::new(Get, Url::parse("http://_/")?);
62
- /// request.insert_header("X-Forwarded-For", "192.0.2.43, 2001:db8:cafe::17");
62
+ /// request.insert_header("X-Forwarded-For", "192.0.2.43, 2001:db8:cafe::17, unknown ");
63
63
/// request.insert_header("X-Forwarded-Proto", "https");
64
64
/// let forwarded = Forwarded::from_headers(&request)?.unwrap();
65
- /// assert_eq!(forwarded.forwarded_for(), vec!["192.0.2.43", "[2001:db8:cafe::17]"]);
65
+ /// assert_eq!(forwarded.forwarded_for(), vec!["192.0.2.43", "[2001:db8:cafe::17]", "unknown" ]);
66
66
/// assert_eq!(forwarded.proto(), Some("https"));
67
+ /// assert_eq!(forwarded.value()?, r#"for=192.0.2.43, for="[2001:db8:cafe::17]", for=unknown;proto=https"#);
67
68
/// # Ok(()) }
68
69
/// ```
69
70
@@ -174,6 +175,18 @@ impl<'a> Forwarded<'a> {
174
175
}
175
176
176
177
/// parse a &str into a borrowed Forwarded
178
+ ///
179
+ /// # Examples
180
+ /// ```rust
181
+ /// # use http_types::{proxies::Forwarded, Method::Get, Request, Url, Result};
182
+ /// # fn main() -> Result<()> {
183
+ /// let forwarded = Forwarded::parse(
184
+ /// r#"for=192.0.2.43, for="[2001:db8:cafe::17]", FOR=unknown;proto=https"#
185
+ /// )?;
186
+ /// assert_eq!(forwarded.forwarded_for(), vec!["192.0.2.43", "[2001:db8:cafe::17]", "unknown"]);
187
+ /// assert_eq!(forwarded.value()?, r#"for=192.0.2.43, for="[2001:db8:cafe::17]", for=unknown;proto=https"#);
188
+ /// # Ok(()) }
189
+ /// ```
177
190
pub fn parse ( input : & ' a str ) -> Result < Self , ParseError > {
178
191
let mut input = input;
179
192
let mut forwarded = Forwarded :: new ( ) ;
0 commit comments