9 个版本
0.2.1 | 2023年3月15日 |
---|---|
0.2.0 | 2023年3月15日 |
0.1.6 | 2023年3月9日 |
#1010 在 HTTP服务器
每月 48 次下载
7KB
121 行
http_server_tiny
使用 tiny_http 的轻量级 HTTP 服务器库
用法
您需要提供一个 error.html 文件,以便服务器在返回 404 错误时使用。
路由宏(实验性)!!!
此宏对于部署静态文件非常有用。
示例
route!(get_html => server, "/", ".index.html");
此宏等于以下内容
server.add_route(
&Method::Get,
"/",
Box::new(|_| Res::File {
name: "./index.html",
ct: "text/html; charset=utf-8",
sc: 200,
}),
);
src/main.rs
use http_server_tiny::{route, HttpServer, Method, Res};
fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut server = HttpServer::new("0.0.0.0:8000", "./error.html");
route!(get_html => server, "/", ".index.html");
route!(get_js => server, "/index.js", ".index.js");
server.handle_requests(Box::new(|req| {
println!("INFO: {} {}", req.method, req.url);
}))
}
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Hello, World</title>
</head>
<body>
<h1>Hello, world!</h1>
</body>
<script src="index.js"></script>
</html>
index.js
console.log("Hello, world!");
error.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>404</title>
</head>
<body>
404
</body>
</html>
依赖项
~385KB