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.sectionslinux.DSO.opApply(scope int delegate(ref rt.sectionslinux.DSO))+0x42) [0x652502]
./restTester(rtmoduleTlsCtor+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/x8664-linux-gnu/libc.so.6(_libcstart_main+0xed) [0x7fc27fce076d]
Any ideas whats causing it? And more importantly how to work around it?
Thanks...