lmrc_http_common/middleware/
mod.rs1pub mod request_id;
4pub mod logging;
5
6pub use request_id::{RequestIdLayer, add_request_id, RequestId, REQUEST_ID_HEADER};
7pub use logging::{LoggingLayer, log_request};
8
9use tower_http::cors::{Any, CorsLayer};
10
11pub fn permissive_cors() -> CorsLayer {
13 CorsLayer::new()
14 .allow_origin(Any)
15 .allow_methods(Any)
16 .allow_headers(Any)
17 .allow_credentials(true)
18}
19
20pub fn cors_with_origins(origins: Vec<String>) -> CorsLayer {
22 use tower_http::cors::AllowOrigin;
23
24 let origins: Vec<_> = origins
25 .into_iter()
26 .filter_map(|o| o.parse().ok())
27 .collect();
28
29 CorsLayer::new()
30 .allow_origin(AllowOrigin::list(origins))
31 .allow_methods(Any)
32 .allow_headers(Any)
33 .allow_credentials(true)
34}