#dictionary #webster #merriam #api-bindings

merriam-webster-http

Merriam Webster词典API的HTTP客户端

1个不稳定版本

0.2.0 2023年10月14日

#560HTTP客户端

MIT/Apache

105KB
873

Merriam Webster HTTP

Merriam Webster词典API的HTTP客户端

CI Crate API

示例

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 中的默认 GaiResolverhyper-trust-dns 提供了在应用程序级别的完全异步 DNS 解析器。

许可证

根据您的选择,在 Apache License, Version 2.0MIT license 下获得许可。
除非您明确声明,否则根据 Apache-2.0 许可证定义,您有意提交给此 crate 的任何贡献都将根据上述许可进行双重许可,而不附加任何其他条款或条件。

依赖关系

~7-20MB
~292K SLoC