Would an SMTP protocol struct be beneficial?<div><br></div><div>This looks great, thanks for you work.<br><div><br><div class="gmail_quote">On Sat, Jun 18, 2011 at 3:36 PM, jdrewsen <span dir="ltr"><<a href="mailto:jdrewsen@nospam.com" target="_blank">jdrewsen@nospam.com</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
   I've finally got through all the very constructive comments from the last review of the curl wrapper and performed the needed changes.<br>
<br>
Here is the github branch:<br>
<a href="https://github.com/jcd/phobos/tree/curl-wrapper" target="_blank">https://github.com/jcd/phobos/<u></u>tree/curl-wrapper</a><br>
<br>
And the generated docs:<br>
<a href="http://freeze.steamwinter.com/D/web/phobos/etc_curl.html" target="_blank">http://freeze.steamwinter.com/<u></u>D/web/phobos/etc_curl.html</a><br>
<br>
I do have some problems getting ddoc to show the documentation of mixins. So in order to view the doc for byLine/byChunk methods you have to look at the source.<br>
<br>
Anyway...this is what I've been up to:<br>
<br>
New features:<br>
<br>
* Full support for async/sync by line/chunk<br>
* FTP support extended from only allowing download of a file sync into full async/sync by line/chunk support<br>
* Allow providing parameters such as credentials/timeouts when using the convenience statis methods.<br>
<br>
Changes caused by last review:<br>
<br>
* rethink byLine/... to not return string in order to prevent allocations. they should return char[]/ubyte[]<br>
* 80 chars<br>
* Http.Result not HttpResult<br>
* gramma for http.postData<br>
* len -> length<br>
* perform http request -> perform a http ...<br>
* authMethod to property<br>
* curltimecond alias into module<br>
* followlocation -> maxredirs<br>
* http not class anymore but struct<br>
* timecondition use std.datetime<br>
* timeouts use core.duration<br>
* Spelling "callbacks is not supported"<br>
* refer to HTTP RFC describing the methods<br>
* login/password example<br>
* chuncked -> chunked<br>
* max redirs; use uint.max and not -1<br>
* isRunning returining short<br>
* 4 chars tabs in examples.<br>
* no space in examples.<br>
* Send/recv use special structs in order not to mess with other communications<br>
<br>
Comments are welcome.<br>
<br>
/Jonas<br>
<br>
</blockquote></div><br></div>
</div>