Added logging.
This commit is contained in:
		
							parent
							
								
									0de0754e5b
								
							
						
					
					
						commit
						cae24f70c1
					
				| 
						 | 
					@ -2,6 +2,17 @@
 | 
				
			||||||
# It is not intended for manual editing.
 | 
					# It is not intended for manual editing.
 | 
				
			||||||
version = 3
 | 
					version = 3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "atty"
 | 
				
			||||||
 | 
					version = "0.2.14"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "hermit-abi",
 | 
				
			||||||
 | 
					 "libc",
 | 
				
			||||||
 | 
					 "winapi",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "autocfg"
 | 
					name = "autocfg"
 | 
				
			||||||
version = "1.0.1"
 | 
					version = "1.0.1"
 | 
				
			||||||
| 
						 | 
					@ -44,6 +55,17 @@ version = "1.0.0"
 | 
				
			||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 | 
					checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "colored"
 | 
				
			||||||
 | 
					version = "1.9.3"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "f4ffc801dacf156c5854b9df4f425a626539c3a6ef7893cc0c5084a23f0b6c59"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "atty",
 | 
				
			||||||
 | 
					 "lazy_static",
 | 
				
			||||||
 | 
					 "winapi",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "core-foundation"
 | 
					name = "core-foundation"
 | 
				
			||||||
version = "0.9.2"
 | 
					version = "0.9.2"
 | 
				
			||||||
| 
						 | 
					@ -154,9 +176,11 @@ dependencies = [
 | 
				
			||||||
name = "godaddy_ddns"
 | 
					name = "godaddy_ddns"
 | 
				
			||||||
version = "0.1.0"
 | 
					version = "0.1.0"
 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "log",
 | 
				
			||||||
 "reqwest",
 | 
					 "reqwest",
 | 
				
			||||||
 "serde",
 | 
					 "serde",
 | 
				
			||||||
 "serde_json",
 | 
					 "serde_json",
 | 
				
			||||||
 | 
					 "simple_logger",
 | 
				
			||||||
 "tokio",
 | 
					 "tokio",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -350,6 +374,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710"
 | 
					checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710"
 | 
				
			||||||
dependencies = [
 | 
					dependencies = [
 | 
				
			||||||
 "cfg-if",
 | 
					 "cfg-if",
 | 
				
			||||||
 | 
					 "serde",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
| 
						 | 
					@ -731,6 +756,19 @@ dependencies = [
 | 
				
			||||||
 "libc",
 | 
					 "libc",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "simple_logger"
 | 
				
			||||||
 | 
					version = "1.16.0"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "45b60258a35dc3cb8a16890b8fd6723349bfa458d7960e25e633f1b1c19d7b5e"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "atty",
 | 
				
			||||||
 | 
					 "colored",
 | 
				
			||||||
 | 
					 "log",
 | 
				
			||||||
 | 
					 "time",
 | 
				
			||||||
 | 
					 "winapi",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "slab"
 | 
					name = "slab"
 | 
				
			||||||
version = "0.4.5"
 | 
					version = "0.4.5"
 | 
				
			||||||
| 
						 | 
					@ -778,6 +816,23 @@ dependencies = [
 | 
				
			||||||
 "winapi",
 | 
					 "winapi",
 | 
				
			||||||
]
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "time"
 | 
				
			||||||
 | 
					version = "0.3.5"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "41effe7cfa8af36f439fac33861b66b049edc6f9a32331e2312660529c1c24ad"
 | 
				
			||||||
 | 
					dependencies = [
 | 
				
			||||||
 | 
					 "itoa 0.4.8",
 | 
				
			||||||
 | 
					 "libc",
 | 
				
			||||||
 | 
					 "time-macros",
 | 
				
			||||||
 | 
					]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[package]]
 | 
				
			||||||
 | 
					name = "time-macros"
 | 
				
			||||||
 | 
					version = "0.2.3"
 | 
				
			||||||
 | 
					source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
				
			||||||
 | 
					checksum = "25eb0ca3468fc0acc11828786797f6ef9aa1555e4a211a60d64cc8e4d1be47d6"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[[package]]
 | 
					[[package]]
 | 
				
			||||||
name = "tinyvec"
 | 
					name = "tinyvec"
 | 
				
			||||||
version = "1.5.1"
 | 
					version = "1.5.1"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -9,4 +9,6 @@ edition = "2021"
 | 
				
			||||||
reqwest = { version = "0.11", features = ["json"] }
 | 
					reqwest = { version = "0.11", features = ["json"] }
 | 
				
			||||||
tokio = { version = "1", features = ["full"] }
 | 
					tokio = { version = "1", features = ["full"] }
 | 
				
			||||||
serde = { version = "1.0.132", features = ["derive"]}
 | 
					serde = { version = "1.0.132", features = ["derive"]}
 | 
				
			||||||
serde_json = "1.0"
 | 
					serde_json = "1.0"
 | 
				
			||||||
 | 
					log = { version = "0.4", features = ["std", "serde"] }
 | 
				
			||||||
 | 
					simple_logger = "1.16.0"
 | 
				
			||||||
| 
						 | 
					@ -97,8 +97,13 @@ fn get_records() -> Vec<DNSRecord> {
 | 
				
			||||||
/// * `key` - A &str holding the GoDaddy developer key.
 | 
					/// * `key` - A &str holding the GoDaddy developer key.
 | 
				
			||||||
///
 | 
					///
 | 
				
			||||||
/// * `secret` - A &str holding the GoDaddy developer secret.
 | 
					/// * `secret` - A &str holding the GoDaddy developer secret.
 | 
				
			||||||
async fn update_record(record: &DNSRecord, value: &str, domain: &str, key: &str, secret: &str) -> () {
 | 
					async fn update_record(
 | 
				
			||||||
 | 
					    record: &DNSRecord,
 | 
				
			||||||
 | 
					    value: &str,
 | 
				
			||||||
 | 
					    domain: &str,
 | 
				
			||||||
 | 
					    key: &str,
 | 
				
			||||||
 | 
					    secret: &str,
 | 
				
			||||||
 | 
					) -> () {
 | 
				
			||||||
    let url = format!(
 | 
					    let url = format!(
 | 
				
			||||||
        "https://api.godaddy.com/v1/domains/{domain}/records/{record_type}/{name}",
 | 
					        "https://api.godaddy.com/v1/domains/{domain}/records/{record_type}/{name}",
 | 
				
			||||||
        domain = domain,
 | 
					        domain = domain,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										15
									
								
								src/main.rs
								
								
								
								
							
							
						
						
									
										15
									
								
								src/main.rs
								
								
								
								
							| 
						 | 
					@ -1,13 +1,22 @@
 | 
				
			||||||
mod go_daddy_ddns;
 | 
					mod go_daddy_ddns;
 | 
				
			||||||
mod ip_handler;
 | 
					mod ip_handler;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use log::LevelFilter;
 | 
				
			||||||
 | 
					use simple_logger::SimpleLogger;
 | 
				
			||||||
use std::env;
 | 
					use std::env;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#[tokio::main]
 | 
					#[tokio::main]
 | 
				
			||||||
async fn main() -> Result<(), Box<dyn std::error::Error>> {
 | 
					async fn main() -> Result<(), Box<dyn std::error::Error>> {
 | 
				
			||||||
    let domain = env::var("DOMAIN").unwrap();
 | 
					    SimpleLogger::new()
 | 
				
			||||||
    let key = env::var("KEY").unwrap();
 | 
					        .with_colors(true)
 | 
				
			||||||
    let secret = env::var("SECRET").unwrap();
 | 
					        .with_utc_timestamps()
 | 
				
			||||||
 | 
					        .with_level(LevelFilter::Debug)
 | 
				
			||||||
 | 
					        .init()
 | 
				
			||||||
 | 
					        .unwrap();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    let domain = env::var("DOMAIN").expect("You need to set DOMAIN env variable first.");
 | 
				
			||||||
 | 
					    let key = env::var("KEY").expect("You need to set KEY env variable first.");
 | 
				
			||||||
 | 
					    let secret = env::var("SECRET").expect("You need to set SECRET env variable first.");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    go_daddy_ddns::exec(&domain, &key, &secret).await
 | 
					    go_daddy_ddns::exec(&domain, &key, &secret).await
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue