binding to the ifttt webhook api.
there is a async interface can be activate in feature non-blocking
.
and a time delay trigger function for delay the trigger in feature delay
.
the blocking interface use ureq, and the non-blocking interface use reqwest internally.
find in crates.io
use cargo-edit
sh
cargo add ifttt_webhook_rust
blocking api ```rust extern crate iftttwebhookrust extern crate dotenv use iftttwebhookrust::*
dotenv::dotenv().unwrap(); let eventname = dotenv::var("EVENT").unwrap(); let apikey = dotenv::var("KEY").unwrap(); let blockingclient = BlockingIftttWebHookClient::new(&eventname, &apikey); let res = client.trigger(None); assert!(res.isok()) ```
non-blocking api ```rust extern crate iftttwebhookrust extern crate dotenv use iftttwebhookrust::*
dotenv::dotenv().unwrap(); let eventname = dotenv::var("EVENT").unwrap(); let apikey = dotenv::var("KEY").unwrap(); let data = WebHookData::new(Some("foo"), Some("bar"), None); let client = NonBlockingIftttWebHookClient::new(&eventname, &apikey); let res = client.trigger(Some(data)).await; assert!(res.is_ok()) ```
non-blocking api with time delay ```rust extern crate iftttwebhookrust extern crate dotenv use iftttwebhookrust::*
dotenv::dotenv().unwrap(); let eventname = dotenv::var("EVENT").unwrap(); let apikey = dotenv::var("KEY").unwrap(); let client = NonBlockingIftttWebHookClient::new(&eventname, apikey); let reshandler: DelayResultHandler = client.triggerwithdelay(None,std::time::Duration::fromsecs(5)); ///do something else let res = reshandler.await; assert!(res.isok()) ```