17个不稳定版本 (3个重大变更)
0.4.2 | 2020年6月1日 |
---|---|
0.4.1 | 2020年6月1日 |
0.4.0 | 2020年5月31日 |
0.3.41 | 2020年5月25日 |
0.1.20 | 2019年9月25日 |
#456 在 HTTP服务器
每月下载 69次
225KB
625 行
Rust HTTP服务器库
web_server是一个小型、无依赖项的crate,用于创建HTTP服务器。
当您使用Rust编写后端代码时,最令人烦恼的事情可能是框架的大小和应用程序编译所需的时间。
web_server包解决了这些问题。web_server没有依赖项,但允许您创建完整的服务器。
首次使用web_server创建服务器
extern crate web_server;
web_server::new()
.get("/", |request: web_server::Request, mut response: web_server::Response|
"Hello World!".into())
.launch(80)
.unwrap();
这很容易!
首先,您必须创建HttpServer实例
web_server::new()
然后,您可以声明您的端点。例如。
.get("/your/path", |request, default_response| {
// There place your logic
// This function returns Response
"response text".into()
})
.post("/your/path", |_, _| "Handler for POST method")
.route(web_server::HttpMethod::DELETE, "/your/path", |_, _| "Handler for DELETE method")
.any("/your/path", |_, _| "Handler for any method")
现在您必须通过launch方法运行服务器
.launch(PORT).unwrap()
接收POST数据
例如。
use web_server::decoders::x_www_form_urlencoded;
web_server::new()
.post("/add-user", |req, _| {
println!("{}", req.get_body());
let body: HashMap<String, String> = x_www_form_urlencoded(req.get_body().as_str());
format!(
"Add new user: {}",
body.get("user").unwrap_or(&String::from("Error!"))
)
.into()
})
.launch(8080)
.unwrap();
阅读examples/以了解更多信息!