Hi,

Im getting this error on the second request being sent by a single HTTPClient.

My code is as follows:

HTTPClient client = connectHTTP(server, "80", false);

auto res1 = client.request(
    (scope req){
        req.method=HTTPMethod.POST;
        req.requestURL = "loginform?username="~name~"&password=passw0rd";
    }
);

// get session id from previous res1
string setCookieString = res1.headers["Set-Cookie"];
// cookieString like SESSIONID=blahblahblah
string sessionId = setCookieString[indexOf(setCookieString, "=")+1..$]

auto res2 = client.request(    // Dies here
    (scope req){
        req.method=HTTPMethod.POST;
        req.requestURL = "restservice";
        req.headers["SESSIONID"] = sessionId;
    }
);

Error message thrown is:

core.exception.AssertError@.dub/packages/vibe-d/source/vibe/http/client.d(208): Interleaved request detected!

./restTester(dassertmsg+0x45) [0x64cf0d]
./restTester(bool vibe.http.client.HTTPClient.doRequest(scope void delegate(vibe.http.client.HTTPClientRequest))+0x74) [0x60712c]
./restTester(vibe.http.client.HTTPClientResponse vibe.http.client.HTTPClient.request(scope void delegate(vibe.http.client.HTTPClientRequest))+0x6f) [0x60706f]
./restTester(void app.
staticCtor1()+0x483) [0x54f3fb]./restTester(void app.modctor()+0x9) [0x5a27a1]
./restTester(void rt.minfo.ModuleGroup.runTlsCtors().pure void >
T14runModuleFuncsS522rt5minfo11ModuleGroup11runTlsCtorsMFZv11lambda279Z.runModuleFuncs(object.ModuleInfo*[])+0x44) [0x67c358]
./restTester(void rt.minfo.ModuleGroup.runTlsCtors()+0x15) [0x67bc69]
./restTester(extern (C) void rt.minfo.rt_moduleTlsCtor().int
foreachbody545(ref rt.sectionslinux.DSO)+0x18) [0x652260]
./restTester(int rt.sections
linux.DSO.opApply(scope int delegate(ref rt.sectionslinux.DSO))+0x42) [0x652502]
./restTester(rt
moduleTlsCtor+0x19) [0x652241]
./restTester(extern (C) int rt.dmain2.drunmain(int, char**, extern (C) int function(char[][])*).void runAll()+0x22) [0x64d856]
./restTester(extern (C) int rt.dmain2.
drunmain(int, char*, extern (C) int function(char[][])).void tryExec(scope void delegate())+0x2a) [0x64d356]
./restTester(drunmain+0x1ae) [0x64d312]
./restTester(main+0x17) [0x64d15f]
/lib/x86
64-linux-gnu/libc.so.6(_libcstart_main+0xed) [0x7fc27fce076d]

Any ideas whats causing it? And more importantly how to work around it?
Thanks...