5 个版本 (重大变更)

0.5.0 2024 年 4 月 2 日
0.4.0 2023 年 10 月 9 日
0.3.2 2023 年 9 月 7 日
0.3.0 2023 年 8 月 25 日
0.1.0 2023 年 8 月 3 日

#34 in #scheduler

每月 50 次下载

MPL-2.0 许可证

25KB
512

dehashed-rs

LICENSE dependency status ci status Docs

这是 dehashed API 的 SDK。

用法

use dehashed_rs::*;

let email = "[email protected]".to_string();
let api_key = "<api_key>".to_string();

// Create an api instance
let api = DehashedApi::new(email, api_key).unwrap();

// Query for the domain example.com
if let Ok(res) = api
    .search(Query::Domain(SearchType::Simple("example.com".to_string())))
    .await
{
    println!("{res:?}");
}

或如果您启用了 tokio 功能,可以利用调度器来抽象处理超出限制的需求

use dehashed_rs::*;
use tokio::sync::oneshot;

let email = "[email protected]".to_string();
let api_key = "<api_key>".to_string();

// Create an api instance
let api = DehashedApi::new(email, api_key).unwrap();
// Create the scheduler
let scheduler = api.start_scheduler();

let tx = scheduler.retrieve_sender();

let (ret_tx, ret_rx) = oneshot::channel();

// Schedule a query for the email "[email protected]"
tx.send(ScheduledRequest::new(
    Query::Email(SearchType::Simple("[email protected]".to_string())),
    ret_tx, 
))
.await
.unwrap();

// Retrieve the result
if let Ok(res) = ret_rx.await {
    println!("{res:?}");
}

如果您需要为 utoipa 提供类型定义,可以在 utoipa 功能标志下找到。

注意

这不是官方 API

依赖

~4–18MB
~221K SLoC