build: echo request id response header

This commit is contained in:
2026-04-21 01:30:16 +08:00
parent f7663076a5
commit 0cbda6aa7c
5 changed files with 30 additions and 2 deletions

View File

@@ -5,6 +5,7 @@ use tracing::{info_span, Level};
use crate::{
error_middleware::normalize_error_response,
request_context::{attach_request_context, resolve_request_id},
response_headers::propagate_request_id_header,
state::AppState,
};
@@ -13,6 +14,8 @@ pub fn build_router(state: AppState) -> Router {
Router::new()
// 错误归一化层放在 tracing 里侧,让 tracing 记录到最终对外返回的状态与错误体形态。
.layer(middleware::from_fn(normalize_error_response))
// 响应头回写放在错误归一化外侧,确保最终写回的是归一化后的最终响应。
.layer(middleware::from_fn(propagate_request_id_header))
// 当前阶段先统一挂接 HTTP tracing后续 request_id、响应头与错误中间件继续在这里扩展。
.layer(
TraceLayer::new_for_http()