fmt
Some checks failed
CI / checks (push) Failing after 2s

This commit is contained in:
Robin Appelman 2024-11-29 20:08:15 +01:00
commit e60f654544
2 changed files with 20 additions and 18 deletions

View file

@ -55,21 +55,19 @@
pub mod headers;
use crate::headers::{
extract_forwarded_header, extract_real_ip_header, extract_x_forwarded_for_header,
};
use http::HeaderMap;
pub use ipnet::IpNet;
use itertools::Either;
use std::iter::{empty, once};
use std::net::IpAddr;
use crate::headers::{extract_forwarded_header, extract_real_ip_header, extract_x_forwarded_for_header};
pub use ipnet::IpNet;
/// Get the "real-ip" of an incoming request.
///
/// See the [top level documentation](crate) for more usage details.
pub fn real_ip(
headers: &HeaderMap,
remote: IpAddr,
trusted_proxies: &[IpNet],
) -> Option<IpAddr> {
pub fn real_ip(headers: &HeaderMap, remote: IpAddr, trusted_proxies: &[IpNet]) -> Option<IpAddr> {
let mut hops = get_forwarded_for(headers).chain(once(remote));
let first = hops.next();
let hops = first.iter().copied().chain(hops);