8 个版本 (5 个重大更新)
0.6.0 | 2024 年 8 月 18 日 |
---|---|
0.5.0 | 2024 年 8 月 18 日 |
0.4.0 | 2024 年 8 月 14 日 |
0.3.2 | 2023 年 8 月 19 日 |
0.1.0 | 2023 年 8 月 18 日 |
#12 in #查询参数
每月 343 次下载
9KB
99 行
使用类似
use axum::error_handling::HandleErrorLayer;
use axum::Router;
use hmac_predicate::HmacQueryParamValidator;
use reqwest::StatusCode;
use tower::{BoxError, ServiceBuilder};
#[tokio::main]
async fn main() {
let predicate: HmacQueryParamValidator = HmacQueryParamValidator {
key: API_SECRET.to_string(),
};
let builder = ServiceBuilder::new()
.layer(HandleErrorLayer::new(handle_error))
.filter(predicate);
let app = Router::new()
.route("/", get(handler))
.layer(builder);
}
async fn handle_error(err: BoxError) -> (StatusCode, String) {
(
StatusCode::INTERNAL_SERVER_ERROR,
format!("Unhandled internal error: {}", err),
)
}
依赖
~2.2–3MB
~59K SLoC