rust获取请求头信息
  y5zqVixaDLkE 2023年11月02日 41 0
[dependencies]
axum = "0.6.18"
hyper = { version = "0.14.26", features = ["full"] }
tokio = { version = "1.28.1", features = ["full"] }
tower = "0.4.13"
log = "0.4.17"
env_logger = "0.10.0"
http = "0.2.9"
use axum::{ routing::get, http::HeaderName,Router};
use hyper::{Body, Request};


async fn handle_request(req: Request<Body>) -> &'static str {
   
//    把这里封装成一个方法,每一个要验证的接口都调用这一个方法
    let mut jieguo=true;
    if let Some(aa) = req.headers().get(&HeaderName::from_static("aa")) {
        // 输出aa字段的值
        if aa.to_str().unwrap() != "aa100" {
            println!("不是aa100");
            jieguo=false;
        }
       
        println!("aa: {:?}", aa.to_str().unwrap());
    }
    else {
        // 如果请求头中没有aa字段,则输出错误信息
        println!("Missing 'aa' header");
    }
    if let Some(aa) = req.headers().get(&HeaderName::from_static("bb")) {
        // 输出aa字段的值
        if aa.to_str().unwrap() != "bb200" {
            println!("不是bb200");
            jieguo=false;
        }
        println!("bb: {:?}", aa.to_str().unwrap());
    }
    println!("jieguo: {:?}", jieguo);
    if jieguo {
        "正确"
    }else {
        "错误"
    }
    
}
async fn root() -> &'static str {
    println!("哈利路亚2");
    "哈利路亚2"
}
async fn get_foo() {}
async fn post_foo() {}
async fn foo_bar() {}




#[tokio::main]
async fn main() {
    // our router
    let app = Router::new()
        .route("/", get(handle_request))
        .route("/cc", get(root))
        .route("/foo", get(get_foo).post(post_foo))
        .route("/foo/bar", get(foo_bar));
    println!("\n\n\t\t项目已经启动\n\n");
    // run it with hyper on localhost:3000
    axum::Server::bind(&"0.0.0.0:3000".parse().unwrap())
        .serve(app.into_make_service())
        .await
        .unwrap();
}
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  oS1xgoxjr0QZ   2023年11月02日   65   0   0 数组Rust
  oS1xgoxjr0QZ   2023年11月02日   50   0   0 Rust
  dBFTbkVLMBge   2023年11月02日   45   0   0 Rust
  oS1xgoxjr0QZ   2023年11月02日   51   0   0 Rust
  oS1xgoxjr0QZ   2023年11月02日   34   0   0 Rust
  oS1xgoxjr0QZ   2023年11月02日   62   0   0 Rust
  oS1xgoxjr0QZ   2023年11月02日   67   0   0 Rust
  y5zqVixaDLkE   2023年11月02日   61   0   0 RustmysqlPostgreSQL
y5zqVixaDLkE