hunt-http ~master

Hunt-Http is a flexible performant http server and client. Support HTTP/1.1, HTTP/2, WebSocket and static resource.


To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:

Build Status

hunt-http

Hunt-Http is a flexible performant http server and client written in D Programming Language.

Features

FeatureServerClient
HTTP 1.xtestedtested
HTTP/2testedtested
TLS 1.2testedtested[1]
WebSocket[2]testedtested
Routingtestednone
Cookietestedtested[3]
Sessiontested[4]tested
Form-Data[5]testedtested
X-WWW-Formtestedtested

Note:

[1] Mutual TLS supported
[2] WSS untested
[3] In-memory only
[4] In-memory only
[5] File upload and download

Simple codes

Using hunt-http build a web server

import hunt.http;

void main()
{
    auto server = HttpServer.builder()
        .setListener(8080, "0.0.0.0")
        .setHandler((RoutingContext context) {
            context.write("Hello World!");
            context.end();
        }).build();

    server.start();
}

Using hunt-http build a http client

import hunt.http;

import std.stdio;

void main()
{
    auto client = new HttpClient();

    auto request = new RequestBuilder().url("http://www.huntlabs.net").build();

    auto response = client.newCall(request).execute();

    if (response !is null)
    {
        writeln(response.getBody().asString());
    }
}

Using hunt-http build a websocket server

import hunt.http;

void main()
{
    auto server = HttpServer.builder()
        .setListener(8080, "0.0.0.0")
        .websocket("/ws", new class AbstractWebSocketMessageHandler {
            override void onText(WebSocketConnection connection, string text)
            {
                connection.sendText("Hello " ~ text);
            }
        }).build()

    server.start();
}

Avaliable versions

NameDescription
HUNTHTTPDEBUGUsed to log debug messages about Hunt-HTTP
HUNT_METRICUsed to enable some operations and APIs about metric

TODO

  • [ ] Reorganizing modules
  • [ ] PersistentCookieStore for HttpClient
  • [ ] Benchmark

References

Dependencies:
hunt-net
Versions:
0.8.2 2022-Mar-03
0.8.1 2021-Nov-08
0.7.8 2021-Sep-03
0.6.18 2021-Sep-03
0.5.1 2020-Apr-30
Show all 16 versions
Download Stats:
  • 0 downloads today

  • 31 downloads this week

  • 100 downloads this month

  • 5212 downloads total

Score:
2.5
Short URL:
hunt-http.dub.pm