在這個環節裡, 你不需要在路由上動手腳。在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!")
}