scufflecloud_geo_ip/http_ext.rs
1use ext_traits::OptionExt;
2
3use crate::middleware::IpAddressInfo;
4
5pub trait GeoIpRequestExt: ext_traits::RequestExt {
6 fn ip_address_info(&self) -> Result<IpAddressInfo, tonic::Status> {
7 self.extensions()
8 .get::<IpAddressInfo>()
9 .copied()
10 .into_tonic_internal_err("missing IpAddressInfo extension")
11 }
12}
13
14impl<T: ext_traits::RequestExt> GeoIpRequestExt for T {}