xref: /DragonOS/user/apps/test-backlog/src/main.rs (revision c719ddc6312acd7976e0f6fd449a94ff9abad5a6)
1*c719ddc6SSaga1718 use actix_web::{web, App, HttpRequest, HttpResponse, HttpServer};
2*c719ddc6SSaga1718 use std::io;
3*c719ddc6SSaga1718 
index(req: HttpRequest) -> HttpResponse4*c719ddc6SSaga1718 async fn index(req: HttpRequest) -> HttpResponse {
5*c719ddc6SSaga1718     // 获取请求方法
6*c719ddc6SSaga1718     let method = req.method().to_string();
7*c719ddc6SSaga1718     // 获取请求路径
8*c719ddc6SSaga1718     let path = req.path().to_string();
9*c719ddc6SSaga1718     // 获取请求头部信息
10*c719ddc6SSaga1718     let headers = req.headers().clone();
11*c719ddc6SSaga1718     // 获取查询参数
12*c719ddc6SSaga1718     let query_params = req.query_string().to_string();
13*c719ddc6SSaga1718 
14*c719ddc6SSaga1718     // 打印请求信息
15*c719ddc6SSaga1718     println!("Received {} request to {}", method, path);
16*c719ddc6SSaga1718     println!("Headers: {:?}", headers);
17*c719ddc6SSaga1718     println!("Query params: {}", query_params);
18*c719ddc6SSaga1718 
19*c719ddc6SSaga1718     // 返回响应
20*c719ddc6SSaga1718     HttpResponse::Ok().body("Hello, World!")
21*c719ddc6SSaga1718 }
22*c719ddc6SSaga1718 
23*c719ddc6SSaga1718 #[actix_web::main]
main() -> io::Result<()>24*c719ddc6SSaga1718 async fn main() -> io::Result<()> {
25*c719ddc6SSaga1718     // 设置 TCP backlog 大小为 5
26*c719ddc6SSaga1718     let backlog_size = 5;
27*c719ddc6SSaga1718 
28*c719ddc6SSaga1718     HttpServer::new(|| App::new().route("/", web::get().to(index)))
29*c719ddc6SSaga1718         .backlog(backlog_size) // 设置 TCP backlog 大小
30*c719ddc6SSaga1718         .bind("0.0.0.0:12580")?
31*c719ddc6SSaga1718         .run()
32*c719ddc6SSaga1718         .await
33*c719ddc6SSaga1718 }
34