6 releases (3 breaking)
0.4.0-alpha.1 | Oct 10, 2019 |
---|---|
0.3.1 | Jul 28, 2018 |
0.3.0 | Jan 16, 2018 |
0.2.0 | Aug 2, 2017 |
0.1.1 | Aug 22, 2016 |
#2 in #definitions
27 downloads per month
12KB
73 lines
urbandictionary.rs
Unofficial async Rust client for the Urbandictionary API.
Installation
This library requires at least Rust 1.39.
Add the following dependency to your Cargo.toml:
urbandictionary = "0.4.0-alpha.1"
Examples
Retrieve a list of definitions for a word and print the example of the first definition, if it exists:
extern crate futures;
extern crate hyper;
extern crate hyper_tls;
extern crate tokio_core;
extern crate urbandictionary;
use futures::Future;
use hyper::client::{Client, HttpConnector};
use hyper_tls::HttpsConnector;
use std::error::Error;
use tokio_core::reactor::Core;
use urbandictionary::HyperUrbanDictionaryRequester;
fn try_main() -> Result<(), Box<Error>> {
let mut core = Core::new()?;
let client = Client::configure()
.connector(HttpsConnector::new(4, &core.handle())?)
.build(&core.handle());
let done = client.definitions("cat").and_then(|response| {
if let Some(definition) = response.definitions.get(1) {
println!("Examples: {}", definition.example);
}
Ok(())
}).map_err(|_| ());
core.run(done).expect("Error running core");
Ok(())
}
fn main() {
try_main().unwrap();
}
Using reqwest, print the definition of the word "cat"
:
extern crate reqwest;
extern crate urbandictionary;
use reqwest::Client;
use std::error::Error;
use urbandictionary::ReqwestUrbanDictionaryRequester;
fn try_main() -> Result<(), Box<Error>> {
let client = Client::new();
let response = client.define("cat")?;
if let Some(definition) = response {
println!("The definition of cat is: {}", definition.definition);
} else {
println!("No definition found");
}
Ok(())
}
fn main() {
try_main().unwrap();
}
Dependencies
~4–9MB
~170K SLoC