4个版本
0.2.8 | 2021年3月13日 |
---|---|
0.2.7 |
|
0.2.6 | 2021年3月11日 |
0.2.5 | 2021年3月11日 |
0.2.4 | 2021年3月11日 |
#1922 in 开发工具
14KB
252 行
ift-webhook
一个简单的库绑定到ifttt的ifttt的webhook API。异步接口可以在non-blocking
特性下激活。还有一个延时触发功能,用于在delay
特性下延迟触发。
关于ifttt webhook的使用:例如,您可以调用一个由ifttt提供的url,然后在您的手机上接收通知(可能包括您提供的数据*)。
*有时您可以在请求中设置一些json数据(最多三个字段),这取决于连接的webhook服务。
安装
-
在crates.io上查找
cargo add ift-webhook
如何使用
阻塞API
代码
extern crate ift-webhook
extern crate dotenv
use ift_webhook::*
dotenv::dotenv().unwrap();
let event_name = dotenv::var("EVENT").unwrap();
let api_key = dotenv::var("KEY").unwrap();
let client = IftWHClient::new(&api_key);
let data = WebHookData::new(Some("test1"), Some("test2"), Some("test3"));
let res = client.trigger(&event_name, data);
assert!(res.is_ok())
非阻塞API
Cargo.toml
ift-webhook={version=*,default-features= false,features=["non-blocking"]}
代码
extern crate ift-webhook
extern crate dotenv
use ift_webhook::*
dotenv::dotenv().unwrap();
let event_name = dotenv::var("EVENT").unwrap();
let api_key = dotenv::var("KEY").unwrap();
let client = AsyncIftWHClient::new(&api_key);
let res = client.trigger(&event_name, None).await;
assert!(res.is_ok())
带时间延迟的非阻塞API
Cargo.toml
ift-webhook={version=*,default-features= false,features=["delay"]}
代码
extern crate ift-webhook
extern crate dotenv
use ift_webhook::*
dotenv::dotenv().unwrap();
let event_name = dotenv::var("EVENT").unwrap();
let api_key = dotenv::var("KEY").unwrap();
let client = AsyncIftWHClient::new(&api_key);
let res_handler: DelayResultHandler =
client.trigger_with_delay(&event_name, None, std::time::Duration::from_secs(5));
///do something else
let res = res_handler.await;
assert!(res.is_ok())
依赖
~0–11MB
~133K SLoC