1个不稳定版本
0.0.6 | 2021年5月2日 |
---|
#764 in HTTP服务器
28KB
698 行
Webby
Webby是一个简单的支持HTTP 1.1的Rust Web服务器。
动机
Rust生态系统拥有许多第三方Web服务器工具包。许多工具包都非常出色,但它们都没有真正教你Web服务器是如何工作的。这个工具包让我能够了解HTTP 1.1是如何工作的,如何处理请求,异步编程等等!
目前,我不建议在任何重要的项目中使用这个工具包。它太慢且不可靠。
功能
创建一个简单的HTTP服务器
// Run a server on localhost:8080
fn main() {
webby::create("127.0.0.1", 8080)
.start_listening();
}
路由
没有路由的Web服务器是不完整的,这就是为什么Webby也支持路由。
你可以使用函数或lambda函数。只要匹配预期的函数签名,它就会工作!
fn index() -> HttpResponse {
println!("This is an index route, it only ever returns HTTP 204.");
HttpResponse::new().no_content()
}
fn main() {
webby::create("127.0.0.1", 8080)
.add_route(HttpMethod::GET, "/", index)
.start_listening();
}
拉取请求指南
- 从以下格式的
master
创建一个分支:feature/<你的-功能-名称-在这里>
。 - 进行更改。
- 编写单元测试。
- 测试更改。
- 在
master
上重新基础。 - 更新
README.md
中的状态徽章。 - 发起一个拉取请求。
- 添加适当的变更日志/拉取请求描述。
第三方依赖项
我已经尝试将Webby保持得尽可能简单。然而,有些任务超出了这个项目范围。
演示
- Env Logger - 一个可以通过环境变量配置的日志记录器
- DotEnv - 从
.env
文件中加载环境变量
Webby
- Log - 轻量级日志门面
依赖项
~86KB