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