4个版本

使用旧Rust 2015

0.2.0 2018年1月18日
0.1.2 2017年11月28日
0.1.1 2017年11月28日
0.1.0 2017年11月28日

6#reqwest-client

每月22次 下载

ISC 许可证

50KB
507 代码行

weeb-api.rs

一个非官方的Rust库,作为Weeb.sh API的包装器,提供异步hyper(v0.11)和同步reqwest(0.8.0)的实现。

注意:该库需要使用Weeb.sh令牌。

编译功能

  • hyper支持:带有hyper支持的编译
  • reqwest支持:带有reqwest支持的编译(默认)

安装

将以下内容添加到您的Cargo.toml文件中。

[dependencies]
weeb_api = "0.2"

要启用hyperreqwest支持

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

要启用hyper但不启用reqwest支持

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

示例

使用reqwest,使用用户输入的令牌和类型搜索随机图片

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
}

有关更多示例,请参阅示例文件夹。

许可证

ISC。查看完整的许可证此处

依赖关系

~0.7–12MB
~139K SLoC