fn client_ip()

in src/utils.rs [21:35]


    fn client_ip(&self) -> Result<IpAddr, ClassifyError> {
        let trusted_proxy_list = &self
            .app_data::<Data<EndpointState>>()
            .expect("Expected app state")
            .trusted_proxies;

        let is_trusted_ip =
            |ip: &&IpAddr| trusted_proxy_list.iter().any(|range| range.contains(*ip));

        self.trace_ips()
            .iter()
            .find(|ip| !is_trusted_ip(ip))
            .ok_or_else(|| ClassifyError::new("Could not determine IP"))
            .copied()
    }