Curl wrapper round two
jdrewsen
jdrewsen at nospam.com
Sat Jun 18 14:16:39 PDT 2011
Den 18-06-2011 22:52, Jimmy Cao skrev:
> Would an SMTP protocol struct be beneficial?
My immediate goal is to provide HTTP support and basic FTP support
through libcurl. I believe these are the most important protocols to get
in place in order to improve the adoption of D.
I have currently no plans of adding more protocols to the curl wrapper.
Patches are welcome :)
I would rather do some work on native async net support since I believe
that would give better performance.
/Jonas
> This looks great, thanks for you work.
> On Sat, Jun 18, 2011 at 3:36 PM, jdrewsen <jdrewsen at nospam.com
> <mailto:jdrewsen at nospam.com>> wrote:
>
> Hi,
>
> I've finally got through all the very constructive comments from
> the last review of the curl wrapper and performed the needed changes.
>
> Here is the github branch:
> https://github.com/jcd/phobos/__tree/curl-wrapper
> <https://github.com/jcd/phobos/tree/curl-wrapper>
>
> And the generated docs:
> http://freeze.steamwinter.com/__D/web/phobos/etc_curl.html
> <http://freeze.steamwinter.com/D/web/phobos/etc_curl.html>
>
> 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.
>
> Anyway...this is what I've been up to:
>
> New features:
>
> * Full support for async/sync by line/chunk
> * FTP support extended from only allowing download of a file sync
> into full async/sync by line/chunk support
> * Allow providing parameters such as credentials/timeouts when using
> the convenience statis methods.
>
> Changes caused by last review:
>
> * rethink byLine/... to not return string in order to prevent
> allocations. they should return char[]/ubyte[]
> * 80 chars
> * Http.Result not HttpResult
> * gramma for http.postData
> * len -> length
> * perform http request -> perform a http ...
> * authMethod to property
> * curltimecond alias into module
> * followlocation -> maxredirs
> * http not class anymore but struct
> * timecondition use std.datetime
> * timeouts use core.duration
> * Spelling "callbacks is not supported"
> * refer to HTTP RFC describing the methods
> * login/password example
> * chuncked -> chunked
> * max redirs; use uint.max and not -1
> * isRunning returining short
> * 4 chars tabs in examples.
> * no space in examples.
> * Send/recv use special structs in order not to mess with other
> communications
>
> Comments are welcome.
>
> /Jonas
>
>
More information about the Digitalmars-d
mailing list