Simple HTTP support

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Fri Feb 25 11:31:24 PST 2011


On 2/25/11 1:16 PM, Johannes Pfau wrote:
> 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.
>
> I remember there was some discussion about that some time ago. Graham
> Fawcett has a declarations module here:
> https://github.com/gmfawcett/d-play-libcurl/blob/master/fawcett/curl.d .
> It's not complete (only wraps the simple curl api), but it's a start.
> I think he was even willing to contribute it to phobos, but I'm not
> sure.

Graham?

> I've been working on a webclient like api now and then, but I haven't
> got the time right now to continue it and the code currently is a mess.
> The biggest problem I faced is curls 'push interface', you receive all
> data in a callback. Webclients in other languages offer a 'pull' /
> stream like api and i couldn't find a good way to support that with
> curl.

You can do both with curl IIRC, it's a bit more work - you need is do 
the work in a separate hidden thread and use synchronization or message 
passing with client's thread.

Andrei


More information about the Digitalmars-d mailing list