weeb-api.rs

An unofficial Rust library acting as a wrapper around the Weeb.sh API, offering implementations for both asynchronous hyper(v0.11) and synchronous reqwest(0.8.0).

note: Thie library requires the use of a Weeb.sh token.

Compile features

Installation

Add the following to your Cargo.toml file.

toml [dependencies] weeb_api = "0.1"

To enable both hyper and reqwest support:

toml [dependencies.weeb_api] version = "0.1" features = ["hyper-support", "reqwest support"]

To enable hyper but not reqwest support:

toml [dependencies.weeb_api] version = "0.1" default-features = false features = ["hyper-support"]

Examples

Using reqwest, search for a random image using the token and type provided by user input:

```rust extern crate weeb_api; extern crate reqwest;

use weeb_api::{ImageParams, WeebApiReqwestRequester}; use reqwest::Client; use std::io::{self, Write};

fn main() { // Create the reqwest Client. let client = Client::new();

// Read the token from the users input.
let token = ask("Input your API token:");
let token_trimmed = token.trim();

if token_trimmed.is_empty() {
    println!("No token give. Shutting down.");

    return;
}

// Get a type to get a random image for from the users input.
let input = ask("Input a type to get a random image URL for:");
let input_trimmed = input.trim();

if input_trimmed.is_empty() {
    println!("No type given. Shutting down.");

    return;
}

let params = ImageParams::kind(input_trimmed);
let response = client.get_image_random(token_trimmed, params)
    .expect("Error getting random image");

println!("Response URL: {}", response.url);

}

fn ask(question: &str) -> String { print!("{}\n>", question); let _ = io::stdout().flush();

let mut input = String::new();
io::stdin().read_line(&mut input).expect("Error processing input");

input

} ```

For more examples, refer to the [examples] folder.

License

ISC. View the full license here.