Re: Online Desktop and GNOME 2.22



On Mon, 2007-11-26 at 10:05 -0500, Dan Winship wrote:
> H
> Can you check out http://live.gnome.org/LibSoup/DesktopWideHttp and see 
> if there's anything missing?

This looks good overall.

Are there any libsoup python bindings?

By far the most important thing from my perspective is read-only
cookies.  I am sure there are use cases for cookie modification, but it
seems more specialized.  I certainly wouldn't want to have writable
cookies by default because it seems likely to "break the web" as
sessions get overwritten, etc.

A cache is also a requirement for some of the things we've been
prototyping in online desktop; it doesn't necessarily have to be shared
with the browser, though that would be nice.  

Does libsoup support concurrent access?  This would also be critical for
online desktop.  Which, taking a step back, is actually the really hard
part about most of desktop/browser HTTP integration.  As far as I know,
all mainstream browsers are not concurrent (threads may be used to make
some operations async, but that's not the same thing exactly).
According to this document Necko is not threadsafe:

http://www.mozilla.org/projects/netlib/necko_threading.html

A concurrent cache is fairly straightforward; concurrent SSL certificate
database I don't really want to think about =)

Overall, the libsoup approach + browser integration hooks does have the
disadvantage though that it will have to follow browser changes (e.g.
cookies in Fx3 are now in cookies.sqlite) and just in general be another
HTTP implementation besides the one in the browser.

The ideal world would have a nice gobject/glib async interface
(+Python/C#/Java bindings) which would wrap the same library used by the
browser (necko, whatever gtkwebkit uses, etc.).

Realistically though, trying to unify HTTP libraries is a huge amount of
work; the payoff would be fairly large, but what we need right now is a
HTTP library with:

* Async interface
* Concurrent access (multiple processes and threads)
* Caching
* Readonly cookies from browser
* Python bindings




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]