changelog shortlog graph tags branches changeset files file revisions raw help

Mercurial > core / annotate rust/lib/tenex/models/ipapi/lib.rs

changeset 698: 96958d3eb5b0
parent: 0ccbbd142694
author: Richard Westhaver <ellis@rwest.io>
date: Fri, 04 Oct 2024 22:04:59 -0400
permissions: -rw-r--r--
description: fixes
16
8b82d993f610 tenex and krypt imports
ellis <ellis@rwest.io>
parents:
diff changeset
1
 use log::trace;
67
0ccbbd142694 rust cleanup, added rocksdb bindings
ellis <ellis@rwest.io>
parents: 24
diff changeset
2
 use reqwest::{Client, Error};
16
8b82d993f610 tenex and krypt imports
ellis <ellis@rwest.io>
parents:
diff changeset
3
 use std::net::IpAddr;
8b82d993f610 tenex and krypt imports
ellis <ellis@rwest.io>
parents:
diff changeset
4
 
8b82d993f610 tenex and krypt imports
ellis <ellis@rwest.io>
parents:
diff changeset
5
 pub async fn my_ip_verbose() -> Result<serde_json::Value, Error> {
8b82d993f610 tenex and krypt imports
ellis <ellis@rwest.io>
parents:
diff changeset
6
   let echo_json = Client::new()
8b82d993f610 tenex and krypt imports
ellis <ellis@rwest.io>
parents:
diff changeset
7
     .get("https://ipwhois.app/json/")
8b82d993f610 tenex and krypt imports
ellis <ellis@rwest.io>
parents:
diff changeset
8
     .send()
8b82d993f610 tenex and krypt imports
ellis <ellis@rwest.io>
parents:
diff changeset
9
     .await?
8b82d993f610 tenex and krypt imports
ellis <ellis@rwest.io>
parents:
diff changeset
10
     .json()
8b82d993f610 tenex and krypt imports
ellis <ellis@rwest.io>
parents:
diff changeset
11
     .await?;
8b82d993f610 tenex and krypt imports
ellis <ellis@rwest.io>
parents:
diff changeset
12
 
8b82d993f610 tenex and krypt imports
ellis <ellis@rwest.io>
parents:
diff changeset
13
   trace!("{:#?}", echo_json);
8b82d993f610 tenex and krypt imports
ellis <ellis@rwest.io>
parents:
diff changeset
14
   Ok(echo_json)
8b82d993f610 tenex and krypt imports
ellis <ellis@rwest.io>
parents:
diff changeset
15
 }
8b82d993f610 tenex and krypt imports
ellis <ellis@rwest.io>
parents:
diff changeset
16
 
8b82d993f610 tenex and krypt imports
ellis <ellis@rwest.io>
parents:
diff changeset
17
 pub async fn my_ip() -> Result<IpAddr, Error> {
8b82d993f610 tenex and krypt imports
ellis <ellis@rwest.io>
parents:
diff changeset
18
   let res = Client::new()
8b82d993f610 tenex and krypt imports
ellis <ellis@rwest.io>
parents:
diff changeset
19
     .get("https://ipinfo.io/ip")
8b82d993f610 tenex and krypt imports
ellis <ellis@rwest.io>
parents:
diff changeset
20
     .send()
8b82d993f610 tenex and krypt imports
ellis <ellis@rwest.io>
parents:
diff changeset
21
     .await?
8b82d993f610 tenex and krypt imports
ellis <ellis@rwest.io>
parents:
diff changeset
22
     .text()
8b82d993f610 tenex and krypt imports
ellis <ellis@rwest.io>
parents:
diff changeset
23
     .await?;
8b82d993f610 tenex and krypt imports
ellis <ellis@rwest.io>
parents:
diff changeset
24
   trace!("{:#?}", res);
8b82d993f610 tenex and krypt imports
ellis <ellis@rwest.io>
parents:
diff changeset
25
   Ok(res.parse().unwrap())
8b82d993f610 tenex and krypt imports
ellis <ellis@rwest.io>
parents:
diff changeset
26
 }
8b82d993f610 tenex and krypt imports
ellis <ellis@rwest.io>
parents:
diff changeset
27
 
8b82d993f610 tenex and krypt imports
ellis <ellis@rwest.io>
parents:
diff changeset
28
 pub async fn get_ip() -> Result<(), Error> {
8b82d993f610 tenex and krypt imports
ellis <ellis@rwest.io>
parents:
diff changeset
29
   let ip = my_ip().await?;
8b82d993f610 tenex and krypt imports
ellis <ellis@rwest.io>
parents:
diff changeset
30
   println!("PUBLIC_IP : {:#?}", ip);
8b82d993f610 tenex and krypt imports
ellis <ellis@rwest.io>
parents:
diff changeset
31
   Ok(())
8b82d993f610 tenex and krypt imports
ellis <ellis@rwest.io>
parents:
diff changeset
32
 }