6 个版本
0.0.6 | 2023 年 10 月 13 日 |
---|---|
0.0.5 | 2023 年 7 月 17 日 |
0.0.4 | 2023 年 3 月 5 日 |
0.0.3 | 2022 年 9 月 29 日 |
#451 在 HTTP 服务器 中
每月 386 下载量
58KB
1K SLoC
该项目是 🚧 进行中的 🚧。目前它主要围绕 rspc 的目标进行设计,但如果您想在自己的项目中协作使用它,请随时联系我。
用法
// Define your a single HTTP handler which is supported by all major Rust webservers.
let endpoint = GenericEndpoint::new(
// Set URL prefix
"/",
// Set the supported HTTP methods
[Method::GET, Method::POST],
// Define the handler function
|_req: Request| async move {
Ok(Response::builder()
.status(StatusCode::OK)
.header("Content-Type", "text/html")
.body(b"Hello httpz World!".to_vec())?)
},
);
// Attach your generic endpoint to Axum
let app = axum::Router::new().route("/", endpoint.axum());
// Attach your generic endpoint to Actix Web
HttpServer::new({
let endpoint = endpoint.actix();
move || App::new().service(web::scope("/prefix").service(endpoint.mount()))
});
// and so on...
查看其他 示例!
特性
使用 httpz 的项目
httpz 主要设计用于使库作者的生活更加轻松。它允许库作者编写和测试一个 HTTP 端点一次,并知道它将适用于所有主要的 Rust HTTP 服务器。
使用 httpz 的库
如果您对使用 httpz 感兴趣并有疑问,请加入 Discord!
依赖项
~4–50MB
~752K SLoC