#scripting #http #reqwest #module #rune #language #runestick

runestick-http

基于 reqwest 的 runestick HTTP 模块

2 个不稳定版本

0.3.0 2020年9月2日
0.2.2 2020年8月7日

#18 in #rune

MIT/Apache

690KB
16K SLoC

Build Status

runestick-http

基于 reqwest 的 runestick HTTP 模块。

用法

将以下内容添加到您的 Cargo.toml

runestick = "0.2"
runestick-http = "0.2"
# not necessary, but useful
runestick-json = "0.2"

将其安装到您的上下文中

let mut context = runestick::Context::with_default_packages()?;
context.install(runestick_http::module()?)?;
context.install(runestick_json::module()?)?;

在 Rune 中使用它

use http;
use json;

fn main() {
    let client = http::Client::new();
    let response = client.get("http://worldtimeapi.org/api/ip");
    let text = response.text();
    let json = json::from_string(text);

    let timezone = json["timezone"];

    if timezone is String {
        dbg(timezone);
    }

    let body = json::to_bytes(#{"hello": "world"});

    let response = client.post("https://postman-echo.com/post")
        .body_bytes(body)
        .send();

    let response = json::from_string(response.text());
    dbg(response);
}

依赖项

~4.5–9MB
~195K SLoC