The callback returns the number of incoming bytes read. If the entire array is not read the request will abort. The special value .pauseRequest can be returned in order to pause the current request.
import std.net.curl, std.stdio, std.conv; auto client = HTTP("dlang.org"); client.onReceive = (ubyte[] data) { writeln("Got data", to!(const(char)[])(data)); return data.length; }; client.perform();
The event handler that receives incoming data. Be sure to copy the incoming ubyte[] since it is not guaranteed to be valid after the callback returns.