ArchttpD 语言轻量级 HTTP 框架

联合创作 · 2023-10-01 14:40

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 与 Fasthttp 性能比较,Archttp 监听了 8080 端口,Fasthttp 监听了 8081 端口,使用的是 MacBook 上安装的 Debian 11 虚拟机,Golang 编译器版本 1.18.1,D语言编译器版本 LDC 1.27 。


可以看出两个框架的性能相当,甚至 Archttp 小幅领先!

浏览 18
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报