On 25/02/11 16.01, Andrei Alexandrescu wrote:
On 2/25/11 8:48 AM, Jonas Drewsen wrote:
Hi,

My first post here so I don't know if this is the right place.

I like how phobos is coming along but really miss a HTTP client and I
think it should be a part of the standard library.

Is anyone working on this currently?

Any thoughts/heads-up if I decide to go ahead an implement it myself
e.g. regarding ranges and other stuff?

Is it at all possible to get such thing accepted in phobos if someone
implemented it (and the quality is good enough)?

Thanks
Jonas

Here's what I think would be great to do:

1. A declarations module for libcurl. We'd put that in etc. You wouldn't
even need to go through the review process, the need and the benefits
are obvious. Nobody has had a chance to do that yet.

Libcurl declarations could be a way forward. As far as I can see from the phobos makefiles there really isn't any dependencies on anything other than standard system libraries and zlib. In order to support the full curl API the following libs are listed as optional dependencies.

I guess it would not be a good idea to include the source for all these like it is done with zlib in etc. So how should this be handled? Should all optional deps just be opted out? Alternatively they could be statically linked in the binary distribution of phobos?

Optional dependencies:
  *1 = requires OpenSSL, GnuTLS, NSS, yassl, axTLS or PolarSSL
  *2 = requires OpenLDAP
  *3 = requires a GSSAPI-compliant library, such as Heimdal or similar.
  *4 = requires FBopenssl
  *5 = requires a krb4 library, such as the MIT one or similar.
  *6 = requires c-ares
  *7 = requires OpenSSL or NSS, as GnuTLS only supports SSLv3 and TLSv1
  *8 = requires libssh2
  *9 = requires OpenSSL, GnuTLS, NSS or yassl

2. An API design that is safe (libcurl uses void* and unsafe idioms all
over the API) based on libcurl and integrates well with the rest of
Phobos. This would ideally be discussed prior to implementation and will
need to go through a review.

Do you see this as being based on 1?

If you do 1, it would be an awesome good step forward.

I'll have to see how hard it would be :)

/Jonas

Reply via email to