Archttp —— D 语言轻量级 HTTP 框架
Archttp 是一个轻量级易于使用的 http 框架,性能可比肩基于 Golang 开发的 Fasthttp 框架。
示例代码:
import archttp;
void main()
{
auto app = new Archttp;
app.Bind(8080);
app.Get("/", (context) {
auto response = context.response();
response.body("Hello Archttp");
});
app.Get("/json", (context) {
import std.json;
auto response = context.response();
auto j = JSONValue( ["message" : "Hello, World!"] );
response.json(j);
});
app.Get("/user/{id:\\d+}", (context) {
auto request = context.request();
auto response = context.response();
response.body("User id: " ~ request.parameters["id"]);
});
app.Get("/blog/{name}", (context) {
auto request = context.request();
auto response = context.response();
response.body("Username: " ~ request.parameters["name"]);
});
app.Post("/upload", (context) {
auto response = context.response();
response.body("Using post method!");
});
app.Run();
}
跑分测试:
上图是 Archttp 与 Fasthttp 性能比较,Archttp 监听了 8080 端口,Fasthttp 监听了 8081 端口,使用的是 MacBook 上安装的 Debian 11 虚拟机,Golang 编译器版本 1.18,D语言编译器版本 LDC 1.27 。
可以看出两个框架的性能相当,甚至 Archttp 小幅领先!
