Crate weeb_api [−] [src]
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: This library requires the use of a Weeb.sh token.
Compile features
- hyper-support: Compiles with
hyper
support - reqwest-support: Compiles with
reqwest
support (*default)
Installation
Add the following to your Cargo.toml
file.
[dependencies]
weeb_api = "0.1"
To enable both hyper
and reqwest
support:
[dependencies.weeb_api]
version = "0.1"
features = ["hyper-support", "reqwest support"]
To enable hyper
but not reqwest
support:
[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:
extern crate weeb_api; extern crate reqwest; fn main() { use weeb_api::{ImageParams, WeebApiReqwestRequester}; use reqwest::Client; use std::io::{self, Write}; // 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 response = client.get_image_random(token_trimmed, params) let params = ImageParams::kind(input_trimmed); .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.
Reexports
pub use bridge::reqwest::WeebApiRequester as WeebApiReqwestRequester; |
Modules
bridge |
Bridging support between the library and various HTTP clients. |
constants |
A set of constants used for the various requests in the library. |
model |
A set of models used for deserializing the responses from the API. |
utils |
Provides a helper for creating a |
Structs
ImageParams |
A struct containing the image parameters which are used for the random image search of the relevant client implementation. |
UploadParams |
A struct used for uploading images to the Api. |
Enums
Error |
An error type to compose a singular error enum between various dependencies' errors. |
Type Definitions
Result |
A result type to compose a successful value and the library's |