axum框架當中獲取請求header, 和獲取header指定字段的方法

字號+ 編輯: 种花家 修訂: 种花家 來源: 原创 2023-09-20 我要說兩句(0)

目前axum官方文档上寫的是很早以前已淘汰的。本文記錄axum0.7版本的header獲取方法

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


閲完此文,您的感想如何?
  • 有用

    36

  • 沒用

    1

  • 開心

    18

  • 憤怒

    1

  • 可憐

    1

1.如文章侵犯了您的版權,請發郵件通知本站,該文章將在24小時内刪除;
2.本站標注原創的文章,轉發時煩請注明來源;
3.交流群: 2702237 13835667

相關課文
  • 在rust/axum框架中操作redis

  • rust編譯新的wasm項目操作流程(原文: 編譯 Rust 爲 WebAssembly)

  • rust視圖模板庫askama的使用

  • 在M1 M2芯片的蘋果電腦上編譯intel x86的rust庫

我要說說
網上賓友點評