mirror of
https://github.com/icewind1991/warp-real-ip.git
synced 2026-06-03 10:44:07 +02:00
Reflect the suggestion.
This commit is contained in:
parent
6825c6da12
commit
c819a9a85c
2 changed files with 9 additions and 2 deletions
|
|
@ -30,6 +30,12 @@ impl IpNetworks {
|
|||
}
|
||||
}
|
||||
|
||||
impl From<Vec<IpAddr>> for IpNetworks {
|
||||
fn from(addrs: Vec<IpAddr>) -> Self {
|
||||
Self::from_ipaddr_iter(addrs.iter())
|
||||
}
|
||||
}
|
||||
|
||||
impl From<&Vec<IpAddr>> for IpNetworks {
|
||||
fn from(addrs: &Vec<IpAddr>) -> Self {
|
||||
Self::from_ipaddr_iter(addrs.iter())
|
||||
|
|
@ -65,8 +71,9 @@ impl FromIterator<IpNetwork> for IpNetworks {
|
|||
/// .map(|addr: Option<IpAddr>| format!("Hello {}", addr.unwrap()));
|
||||
/// ```
|
||||
pub fn real_ip(
|
||||
trusted_proxies: IpNetworks,
|
||||
trusted_proxies: impl Into<IpNetworks>,
|
||||
) -> impl Filter<Extract = (Option<IpAddr>,), Error = Infallible> + Clone {
|
||||
let trusted_proxies = trusted_proxies.into();
|
||||
remote().and(get_forwarded_for()).map(
|
||||
move |addr: Option<SocketAddr>, forwarded_for: Vec<IpAddr>| {
|
||||
addr.map(|addr| {
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ use warp_real_ip::real_ip;
|
|||
|
||||
fn serve<'a>(trusted: Vec<IpAddr>) -> impl Filter<Extract = (String,)> + 'a {
|
||||
warp::any()
|
||||
.and(real_ip((&trusted).into()))
|
||||
.and(real_ip(trusted))
|
||||
.map(|addr: Option<IpAddr>| addr.unwrap().to_string())
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue