← Back to team overview

u1db-discuss team mailing list archive

Re: [Ubunet-discuss] Preferred C HTTP Library

 

Libsoup does require at least glib/gobject, and if we're not writing a
gobjectified C implementation, then it's not worth trying to use it.

For plain C, your best options are going to be libcurl or neon. I've
used neon pretty heavily in the past, and it wasn't terrible. That was
in a web browser, so perhaps may be 100x more terrible than anything
u1db probably needs here. The API wasn't too bad, and it worked, and
was well tested.

Anyway, neon or libcurl are your only real choices here. You definitely
want to avoid libwww. If you thought neon was bad… well, I'll leave
the rest to your imagination. :)



On Thu, 2012-02-16 at 14:38 +0100, John Arbash Meinel wrote:
> I've gotten to the point with our U1DB C implementation that I need to
> start working on synchronization over the network. We are going to be
> synchronizing via HTTP, so I would like to have a reasonably simple
> HTTP library to do the heavy lifting.
> 
> Samuele mentioned libsoup, though that seems to be specifically tied
> into GNOME, which makes it less attractive for a cross-platform
> application.
> 
> One option is to have multiple implementations, each platform
> specific, but I'd really rather avoid that, since it means more code
> to maintain overall.
> 
> Does anyone have another suggestion for a good HTTP library? There
> seems to be libcurl, which could be an option. I was told to avoid
> using libwww. Baz 1.x used neon, I believe, but I also seem to
> remember it was pretty terrible.
> 
> Maybe libcurl really is the most sane answer. But suggestions are
> certainly welcome.
> 
> John
> =:->
> _______________________________________________
> Mailing list: https://launchpad.net/~ubunet-discuss
> Post to     : ubunet-discuss@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~ubunet-discuss
> More help   : https://help.launchpad.net/ListHelp
> 

Attachment: signature.asc
Description: This is a digitally signed message part


References