zero4rs 2.0.0

zero4rs is a powerful, pragmatic, and extremely fast web framework for Rust
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use actix_web::body::MessageBody;
use actix_web::dev::{ServiceRequest, ServiceResponse};
use actix_web::middleware::Next;
use actix_web::HttpMessage;

use actix_request_identifier::RequestId;

pub async fn request_id(
    req: ServiceRequest,
    next: Next<impl MessageBody>,
) -> Result<ServiceResponse<impl MessageBody>, actix_web::Error> {
    // 取得之前注入的 RequestId
    if let Some(request_id) = req.extensions().get::<RequestId>() {
        log_mdc::insert("request_id", request_id.as_str().to_string());
    }

    next.call(req).await
}