在这个环节里, 你不需要在路由上动手脚。在http路由指向的方法当中传一个参数, 类型为axum::http::HeaderMap
当需要获取指定的请求头字段时, 假设你传进来的HeaderMap参数的名字叫some_headers, 则使用
some_headers.get("字段名")的方式来获取。cookie的话可以通过以下方式获取
some_headers.get("cookie")demo代码如下:
use axum::{response::Html, http::HeaderMap, response::IntoResponse};
pub async fn handler() -> Html<&'static str> {
// 默认页
Html("<h2>Service Unavailable.</h2>")
}
pub async fn test(headers:HeaderMap) -> impl IntoResponse {
// 获取请求头单个的User-Agent字段
println!("User-Agent: {:?}", headers.get("user-agent"));
// 打印全部字段
for (key, value) in headers.iter() {
println!("{:?}: {:?}", key, value);
}
// headers.insert("x-my-hdr", "abc".parse().unwrap());
// (headers, "It works!")
}