Now that Lars Kyllingstad's new and improved std.path has passed the
vote – congratulations, Lars! –, and Jose Armando Garcia, the author of
the proposed logging module, is currently not available, the etc.curl
module by Jonas Drewsen is at the front of the review queue. I have
volunteered to run the formal process for inclusion with Phobos.
etc.curl provides a high-level interface to client-side networking
functionality for the HTTP, FTP and SMTP protocols by wrapping libcurl
[1], accessing the C interface of which is already possible using Phobos
in the form of etc.c.curl. Prior stages of the work have already been
discussed in March [2], May [3], and June [4]. Thanks to everybody who
took the time to evaluate the library back then; as far as I am aware,
all raised concerns have been addressed since then.
Based on the amount of discussion this module already underwent, I
hereby propose a two-week review period. Barring any objections, the
review starts today (Aug 18) and ends on Aug 31, followed by a one week
vote (Sep 1 - Sep 7).
Code:
https://github.com/jcd/phobos/blob/curl-wrapper/etc/curl.d
API documentation:
http://freeze.steamwinter.com/D/web/phobos/etc_curl.html
A discussion on the wrapper has already been started on digitalmars.D
[5]. To keep everything in one place, please post your comments and
reviews there.
At this point, I would like to invite everyone to spend some time
testing the module and reading its documentation and code. It is
essential for a working open source code review process that many people
participate in it, and regardless of whether you are new to D or a
seasoned contributor, your opinion is very valuable.
Jonas also asked us to have a look at the list of known issues (which
can also be found at the top of the source file), and, if possible,
suggest a solution:
---
Known issues:
* DDoc is not generated where the mixins ByLineAsync, ByLineSync,
ByChunkAsync and ByLineSync are used. This seems to be a limitation of
ddoc - suggestions on how to circumvent this appreciated.
Possible improvements:
* Progress may be deprecated in the future. Maybe implement a replacement.
* Support typed http headers - (Johannes Pfau)
---
To make sure it doesn't get lost, let me also repeat Johannes Pfau's
request to add proxy support from another thread ([6]) here.
Thanks a lot for your reviewing efforts,
David
[1] http://curl.haxx.se/libcurl/
[2]
http://www.digitalmars.com/d/archives/digitalmars/D/Curl_support_RFC_131753.html
[3]
http://www.digitalmars.com/d/archives/digitalmars/D/Curl_wrapper_136372.html
[4]
http://www.digitalmars.com/d/archives/digitalmars/D/Curl_wrapper_round_two_138945.html
[5]
http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D&article_id=142661
[6]
http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D&article_id=142175