9个版本 (5个重大变更)
0.6.0 | 2024年7月24日 |
---|---|
0.5.0 | 2024年5月22日 |
0.4.1 | 2024年3月31日 |
0.3.0 | 2024年2月16日 |
0.1.0 | 2023年12月29日 |
#247 in HTTP客户端
每月523次下载
用于 2 个Crate
700KB
20K SLoC
xitca的HTTP库
lib.rs
:
针对Service trait的http处理的Http模块。
此Crate旨在同时提供低开销和易用性。所有http协议都可以分别使用相应的功能标志或一起使用,以处理不同协议。
示例
use std::convert::Infallible;
use xitca_http::{
http::{IntoResponse, Request, RequestExt, Response},
HttpServiceBuilder,
RequestBody,
ResponseBody
};
use xitca_service::{fn_service, Service, ServiceExt};
// xitca-http has to run inside a tcp/udp server.
xitca_server::Builder::new()
// create http service with given name, socket address and service logic.
.bind("xitca-http", "localhost:0",
// a simple async function service produce hello world string as http response.
fn_service(|req: Request<RequestExt<RequestBody>>| async {
Ok::<Response<ResponseBody>, Infallible>(req.into_response("Hello,World!"))
})
// http service builder is a middleware take control of above function service
// and bridge tcp/udp transport with the http service.
.enclosed(HttpServiceBuilder::new())
)?
.build()
依赖项
~1–13MB
~174K SLoC