4 个版本 (重大更改)
0.4.0-rc.1 | 2024 年 5 月 23 日 |
---|---|
0.3.0 | 2024 年 3 月 12 日 |
0.2.0 | 2024 年 1 月 3 日 |
0.1.0 | 2023 年 11 月 27 日 |
#9 in #http-error
每月 325 次下载
29KB
605 行
anyhow-http
anyhow-http
基于 anyhow
错误提供可定制的 HTTP 错误。此 crate 作为 anyhow
的超集,扩展功能以定义自定义 HTTP 错误响应。
示例
use axum::{
routing::get,
response::IntoResponse,
Router,
};
use anyhow_http::{http_error_ret, response::Result};
#[tokio::main]
async fn main() {
let app = Router::new()
.route("/", get(handler));
let listener = tokio::net::TcpListener::bind("127.0.0.1:3000")
.await
.unwrap();
axum::serve(listener, app).await.unwrap();
}
fn fallible_operation() -> Result<()> {
http_error_ret!(INTERNAL_SERVER_ERROR, "this is an error")
}
async fn handler() -> Result<impl IntoResponse> {
fallible_operation()?;
Ok(())
}
许可证
根据 MIT 许可。
依赖项
~1.4–2.8MB
~57K SLoC