| Crates.io | merriam-webster-http |
| lib.rs | merriam-webster-http |
| version | 0.2.0 |
| created_at | 2023-10-14 05:02:52.622713+00 |
| updated_at | 2023-10-14 05:02:52.622713+00 |
| description | An HTTP client for the Merriam Webster's Dictionary API |
| homepage | https://github.com/fyko/merriam-webster |
| repository | https://github.com/fyko/merriam-webster |
| max_upload_size | |
| id | 1002922 |
| size | 24,877 |
An HTTP client for the Merriam Webster's Dictionary 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(())
}
Note: not enabling any TLS feature is supported for use behind a proxy; Merrium Webster's API is HTTPS only.
Note: this TLS code was taken from twilight-http in accodance with its license.
merriam-webster-http has features to enable HTTPS connectivity with hyper. These
features are mutually exclusive. rustls-native-roots is enabled by default.
nativeThe native feature uses a HTTPS connector provided by hyper-tls.
To enable native, do something like this in your Cargo.toml:
[dependencies]
merriam-webster-http = { default-features = false, features = ["native"], version = "0.1" }
rustls-native-rootsThe rustls-native-roots feature uses a HTTPS connector provided by hyper-rustls, which uses
rustls as the TLS backend, and enables its native-tokio feature, which uses rustls-native-certs
for root certificates.
This is enabled by default.
rustls-webpki-rootsThe rustls-webpki-roots feature uses a HTTPS connector provided by hyper-rustls, which uses
rustls as the TLS backend, and enables its webpki-tokio feature, which uses webpki-roots
for root certificates.
This should be preferred over rustls-native-roots in Docker containers based on scratch.
The trust-dns enables hyper-trust-dns, which replaces the default
GaiResolver in hyper. hyper-trust-dns instead provides a fully
async DNS resolver on the application level.