(values: &mut I)
| 47 | } |
| 48 | |
| 49 | fn decode<'i, I: Iterator<Item = &'i HeaderValue>>(values: &mut I) -> Result<Self, headers::Error> { |
| 50 | let val = values.next().ok_or_else(headers::Error::invalid)?; |
| 51 | let val = val.to_str().map_err(|_| headers::Error::invalid())?; |
| 52 | let (first, _) = val.split_once(',').ok_or_else(headers::Error::invalid)?; |
| 53 | let ip = first.trim().parse().map_err(|_| headers::Error::invalid())?; |
| 54 | Ok(XForwardedFor(ip)) |
| 55 | } |
| 56 | |
| 57 | fn encode<E: Extend<HeaderValue>>(&self, values: &mut E) { |
| 58 | values.extend([self.0.to_string().try_into().unwrap()]) |
no test coverage detected