View source code
Display the source code in std/net/curl.d from which this page was generated on
github.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
local clone.
Page wiki
View or edit the community-maintained wiki page associated with this page.
Function std.net.curl.Curl.onSend
The event handler that gets called when data is needed for sending.
Prototype
void onSend( ulong delegate(void[]) callback ) @property;
Parameters
Name | Description |
---|---|
callback | the callback that has a void[] buffer to be filled |
Returns
The callback
returns the number of elements in the buffer that have been
filled and are ready to send.
The special value Curl.abortRequest
can be returned in
order to abort the current request.
The special value Curl.pauseRequest
can be returned in order to
pause
the current request.
Example
import std.net.curl; Curl curl; curl.initialize(); curl.set(CurlOption.url, "http://dlang.org"); string msg = "Hello world"; curl.onSend = (void[] data) { auto m = cast(void[])msg; size_t length = m.length > data.length ? data.length : m.length; if (length == 0) return 0; data[0..length] = m[0..length]; msg = msg[length..$]; return length; }; curl.perform();
Authors
Jonas Drewsen. Some of the SMTP
code contributed by Jimmy Cao.