Maybe this one:

import vibe.d;
import std.regex;
import std.array : appender;

static reg = ctRegex!"^/greeting/([a-z]+)$";

void main()
{
    setupWorkerThreads(logicalProcessorCount);
    runWorkerTaskDist(&runServer);
    runApplication();
}

void runServer()
{
    auto settings = new HTTPServerSettings;
    settings.options |= HTTPServerOption.reusePort;
    settings.port = 3000;
    settings.serverString = null;
    listenHTTP(settings, &handleRequest);    
}

void handleRequest(HTTPServerRequest req,
                    HTTPServerResponse res)
{
    switch(req.path)
    {
    case "/": res.writeBody("Hello World", "text/plain");
        break;
    default:
        auto m = matchFirst(req.path, reg);
        string message = "Hello, ";
        auto app = appender(message);
        app.reserve(32);
        app ~= m[1];
        res.writeBody(app.data, "text/plain");
    }
}

On Mon, Oct 30, 2017 at 5:41 PM, ade90036 via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
On Thursday, 21 September 2017 at 13:09:33 UTC, Daniel Kozak wrote:
wrong version, this is my letest version: https://paste.ofcode.org/qWsQikdhKiAywgBpKwANFR

On Thu, Sep 21, 2017 at 3:01 PM, Daniel Kozak <kozzi11@gmail.com> wrote:

my version: https://paste.ofcode.org/RLX7GM6SHh3DjBBHd7wshj

On Thu, Sep 21, 2017 at 2:50 PM, Sönke Ludwig via Digitalmars-d < digitalmars-d@puremagic.com> wrote:

Am 21.09.2017 um 14:41 schrieb Vadim Lopatin:

[...]
Oh, sorry, I forgot the reusePort option, so that multiple sockets can listen on the same port:

    auto settings = new HTTPServerSettings("0.0.0.0:3000");
    settings.options |= HTTPServerOption.reusePort;
    listenHTTP(settings, &handleRequest);

Hi, would it be possible to re-share the example of vibe.d woth multithreaded support.

The pastebin link has expired and the pull request doesnt have the latest version.

Thanks

Ade