public-ip 0.1.1

Find the public IP address of a device
Documentation
[![Build Status](https://travis-ci.com/avitex/rust-public-ip.svg?branch=master)](https://travis-ci.com/avitex/rust-public-ip)
[![Crate](https://img.shields.io/crates/v/public-ip.svg)](https://crates.io/crates/public-ip)
[![Docs](https://docs.rs/public-ip/badge.svg)](https://docs.rs/public-ip)

# rust-public-ip

**Find the public IP address of a device**  
Documentation hosted on [docs.rs](https://docs.rs/public-ip).

```toml
public-ip = "0.1.0"
```

## Example usage

```rust
use async_std::task;
use public_ip::{dns, http, BoxToResolver, ToResolver};

fn main() {
    // List of resolvers to try and get an IP address from
    let resolver = vec![
        BoxToResolver::new(dns::OPENDNS_RESOLVER),
        BoxToResolver::new(http::HTTP_IPIFY_ORG_RESOLVER),
    ]
    .to_resolver();
    // Attempt to get an IP address and print it
    if let Some(ip) = task::block_on(public_ip::resolve_address(resolver)) {
        println!("public ip address: {:?}", ip);
    } else {
        println!("couldn't get an IP address");
    }
}
```