1个不稳定版本
| 0.2.0 | 2023年10月14日 |
|---|
#560 在 HTTP客户端
105KB
873 行
Merriam Webster HTTP
Merriam Webster词典API的HTTP客户端
示例
use std::env;
use merriam_webster_http::MerriamWebsterClient;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
tracing_subscriber::fmt::init();
let api_key = env::var("MERRIAM_WEBSTER_API_KEY")?;
let client = MerriamWebsterClient::new(api_key.into());
let defs = client
.collegiate_definition("documentation".to_string())
.await?;
let def = defs.first()
.expect(format!("No definition found for {}", word).as_str());
let shortdefs = def.shortdef.as_ref().unwrap();
println!("Short definitions for 'documentation': {shortdefs:#?}");
Ok(())
}
特性
TLS
注意:不支持在不启用任何TLS功能的情况下使用代理;Merriam Webster的API仅支持HTTPS。
注意:此TLS代码来自 twilight-http,并遵守其许可协议。
merriam-webster-http具有启用与 hyper 的HTTPS连接的功能。这些功能互斥。默认启用 rustls-native-roots。
本地
本地 特性使用由 hyper-tls 提供的 HTTPS 连接器。
要启用 本地,在你的 Cargo.toml 中做如下操作:
[dependencies]
merriam-webster-http = { default-features = false, features = ["native"], version = "0.1" }
rustls-native-roots
rustls-native-roots 特性使用由 hyper-rustls 提供的 HTTPS 连接器,它使用 rustls 作为TLS后端,并启用其 native-tokio 特性,该特性使用 rustls-native-certs 进行根证书。
默认启用此功能。
rustls-webpki-roots
rustls-webpki-roots 特性使用由 hyper-rustls 提供的 HTTPS 连接器,它使用 rustls 作为TLS后端,并启用其 webpki-tokio 特性,该特性使用 webpki-roots 进行根证书。
在基于 scratch 的Docker容器中,应优先使用此功能而非 rustls-native-roots。
信任-DNS
trust-dns 允许使用 hyper-trust-dns,它替换了 hyper 中的默认 GaiResolver。 hyper-trust-dns 提供了在应用程序级别的完全异步 DNS 解析器。
许可证
根据您的选择,在 Apache License, Version 2.0 或 MIT license 下获得许可。除非您明确声明,否则根据 Apache-2.0 许可证定义,您有意提交给此 crate 的任何贡献都将根据上述许可进行双重许可,而不附加任何其他条款或条件。
依赖关系
~7-20MB
~292K SLoC