vibe.d http client

Lars Johansson lasse at 11dim.se
Mon Feb 2 16:47:52 UTC 2026


hi all,
this is driving me nuts.

My client code:
I call the server once for each node in the array endpoints.
but the result (see below) is three calls with the last element 
(/times)
i have tried a zillion times in vain, they all ends with three 
(/times) call.
the only way i can get this right is by break out the calling 
logic to a function like
void spawnRequest(string ep){...} and thus creating a copy per 
call I suppose.
Two things:
It works but, it is a clumsy solution.
And I'm not really sure why it goes wrong.
i would appreciate if someone can show me a clean solution 
without a 'technical' function.  and why my solution goes wrong


import vibe.vibe;
import std.stdio : writefln;
import std.stdio : writeln;

     void main(){
         string[] endpoints = ["/", "/hello/VibeClient", "/time"];
         foreach (endpoint; endpoints) {
     		writeln("start ",endpoint);
             auto ep = endpoint;
             runTask(() nothrow @safe {
                 try {
                     auto response = 
requestHTTP("http://127.0.0.1:8080" ~ ep);
                     auto body = response.bodyReader.readAllUTF8();
                     () @trusted {
                         writefln("[%s] Response: %s", ep, body);
                     }();
                 }
                 catch (Exception e) {
                     try
                     {
                         () @trusted {
                             writefln("[%s] Error: %s", ep, e.msg);
                         }();
                     }
                     catch (Exception) {}
                 }
             });
         }
         runApplication();
     }

result:
PS C:\Users\Lasse\DUB\nwclient01> ./nwclient01.exe
start /
start /hello/VibeClient
start /time
[/time] Response: Current time: 2026-02-02T17:28:07.6319941
[/time] Response: Current time: 2026-02-02T17:28:07.632999
[/time] Response: Current time: 2026-02-02T17:28:07.632999


More information about the Digitalmars-d-learn mailing list