pub enum DB {
LocationDb(LocationDB),
ProxyDb(ProxyDB),
}Expand description
A loaded IP2Location or IP2Proxy database.
Created via DB::from_file. The underlying BIN file is memory-mapped
and remains mapped for the lifetime of this value.
Variants§
LocationDb(LocationDB)
An IP2Location geolocation database.
ProxyDb(ProxyDB)
An IP2Proxy proxy-detection database.
Implementations§
Source§impl DB
impl DB
Sourcepub fn from_file<P: AsRef<Path>>(path: P) -> Result<DB, Error>
pub fn from_file<P: AsRef<Path>>(path: P) -> Result<DB, Error>
Consume the unopened db and mmap the file. Loads a Ip2Location/Ip2Proxy Database .bin file from path using mmap (memap) feature.
§Example usage
use ip2location::DB;
let mut db = DB::from_file("data/IP2PROXY-IP-COUNTRY.BIN").unwrap();Sourcepub fn print_db_info(&self)
pub fn print_db_info(&self)
Prints the DB Information of Ip2Location/Ip2Proxy to console
§Example usage
use ip2location::DB;
let mut db = DB::from_file("data/IP2LOCATION-LITE-DB1.BIN").unwrap();
db.print_db_info();Sourcepub fn ip_lookup(&self, ip: IpAddr) -> Result<Record<'_>, Error>
pub fn ip_lookup(&self, ip: IpAddr) -> Result<Record<'_>, Error>
Lookup for the given IPv4 or IPv6 and returns the Geo information or Proxy Information
§Example usage
use ip2location::{DB, Record};
let mut db = DB::from_file("data/IP2LOCATION-LITE-DB1.IPV6.BIN").unwrap();
let geo_info = db.ip_lookup("2a01:cb08:8d14::".parse().unwrap()).unwrap();
println!("{:#?}", geo_info);
let record = if let Record::LocationDb(rec) = geo_info {
Some(rec)
} else { None };
let geo_info = record.unwrap();
assert!(!geo_info.country.is_none());
assert_eq!(geo_info.country.unwrap().short_name, "FR")Trait Implementations§
Auto Trait Implementations§
impl Freeze for DB
impl RefUnwindSafe for DB
impl Send for DB
impl Sync for DB
impl Unpin for DB
impl UnwindSafe for DB
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more