#server #communication #networking #wrapper #response #request-response #universal

humbird

humbird网络通信核心库,通用服务器功能包装库

5个版本

0.1.4 2023年9月22日
0.1.3 2023年9月19日
0.1.2 2023年9月16日
0.1.1 2023年9月13日
0.1.0 2023年9月13日

#49 in #universal

GPL-3.0 许可证

42KB
908

🐦 Humbird

humbird网络通信核心库
你知道,为了更快!

📦 包

humbird = "0.1.2"

👉 使用

use humbird::{
    config::config::load_config,
    protocol::http::{Request, Response},
    register_router_plugin, run,
};

fn test_1(req: Request, mut res: Response) -> Response {
    res.body = "response.....".as_bytes().to_vec();
    res
}

fn test_2(req: Request, mut res: Response) -> Response {
    res.body = "response.....".as_bytes().to_vec();
    res
}

fn main() {
    // load config
    load_config(
        "/Users/max/GitProject/Humbird/humbird-server/src/config-template.toml".to_string(),
    );
    // register routing plug-in
    // path binding
    register_router_plugin!(
        "/".to_string() => test_1,
        "/test".to_string() => test_2
    );
    // run humbird server
    run!();
}

📃 配置

服务器配置文件模板

[server]
# port
port = "port"

[directory]
# local static resource path
root-path = ""

[proxy]
# target proxy host list
target = ["0.0.0.0:80", ""0.0.0.0:8080", "0.0.0.0:8888"]
# WEIGHT : weight mode
# RANDOM : random mode
# POLLING : polling mode
mode = "WEIGHT"

依赖项

~11–23MB
~282K SLoC