On Monday, 12 December 2011 at 00:53:14 UTC, dsimcha wrote:
Here's my review.  Remember, review ends on December 16.

Overall, this library has massively improved due to the rounds of review it's been put through. I only found a few minor nitpicks. However, a recurring pattern is minor grammar mistakes in the documentation. Please proofread all documentation again.

Docs:

"The high level API is build" -> "The high level API is built"

"LibCurl is licensed under a MIT/X derivate license" -> "LibCurl is licensed under an MIT/X derivative license"

AutoConnect: "Connection type used when the url should be used to auto detect protocol." -> "auto detect THE protocol"

ok

Why is there a link to curl_easy_set_opt in the byLineAsync and byChunkAsync docs?

will fix

In onSend: "The length of the void[] specifies the maximum number of bytes that can be send." -> "can be SENT"

ok

What is the use case for exposing struct Curl? I prefer if this were unexposed because we'll obviously be unable to provide a replacement if/when the backend to this library is rewritten in pure D.

Initially it was not exposed but there were a couple of requests to expose it. Thats why.

Actually, that leads to another question: Should this module really be named etc.curl/std.curl/std.net.curl, or should the fact that it currently uses Curl as a backend be relegated to an implementation detail?

I think it should have curl in the name. I do not believe that a native D network library should have the same API as this module. It is limited by the design of libcurl and should be improved by a native D net library.

Code:

pragma(lib) basically doesn't work on Linux because the object format doesn't support it. Don't rely on it.

ok

Should the protocol detection be case-insensitive, i.e. "ftp://"; == "FTP://"?

yes


Thanks for the feedback
/Jonas

Reply via email to