build: echo request id response header
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user