ci-badge license-badge docs-badge

urbandictionary.rs

Unofficial Rust crate for the Urbandictionary API.

Documentation

Installation

Add the following dependency to your Cargo.toml:

toml urbandictionary = "0.3"

And include it in your project:

rust extern crate urbandictionary;

Examples

Using hyper with the hyper-tls HTTPS connector, retrieve a list of definitions for a word and print the example of the second definition if it exists:

```rust extern crate futures; extern crate hyper; extern crate hypertls; extern crate tokiocore; extern crate urbandictionary;

use futures::Future; use hyper::client::{Client, HttpConnector}; use hypertls::HttpsConnector; use std::error::Error; use tokiocore::reactor::Core; use urbandictionary::HyperUrbanDictionaryRequester;

fn try_main() -> Result<(), Box> { 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":

```rust extern crate reqwest; extern crate urbandictionary;

use reqwest::Client; use std::error::Error; use urbandictionary::ReqwestUrbanDictionaryRequester;

fn try_main() -> Result<(), Box> { 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(); } ```

License

License info in [LICENSE.md]. Long story short, ISC.