(headers: &HeaderMap, name: &str)
| 150 | } |
| 151 | |
| 152 | fn header_value(headers: &HeaderMap, name: &str) -> Option<String> { |
| 153 | headers |
| 154 | .get(name) |
| 155 | .and_then(|value| value.to_str().ok()) |
| 156 | .map(str::trim) |
| 157 | .filter(|value| !value.is_empty()) |
| 158 | .map(ToOwned::to_owned) |
| 159 | } |
| 160 | |
| 161 | fn extract_client_ip(headers: &HeaderMap) -> String { |
| 162 | parse_first_ip_from_header(headers.get("x-forwarded-for")) |
no test coverage detected