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 小幅领先!

浏览 7
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

编辑 分享
举报