I've recently put up a library that I've been working on for a little while, nbhttp:
  <http://github.com/mnot/nbhttp/tree/master>

"nb" stands for non-blocking; this is explicitly an asynchronous/event- driven library, with both a server and a client component. They can be trivially used together to implement a proxy.

The aim is to be HTTP/1.1 compliant (and it's most of the way there, with the exceptions of expect/continue and pipelining support), to be as performant as possible, and to expose as much of the raw protocol as possible.

That last motiviation is because nbhttp is used by REDbot <http://redbot.org/ >, a HTTP resource checker, and it needs "deep" access into what's happening on the wire (without intervening software trying to be helpful).

It is very rough, mostly undocumented, and will probably crash. It is WSGI-like, but not WSGI compatible, because there were a few places where WSGI was too constraining. However, it may be useful as food for thought in API revisions. Or not. :)

Cheers,

--
Mark Nottingham     http://www.mnot.net/

_______________________________________________
Web-SIG mailing list
Web-SIG@python.org
Web SIG: http://www.python.org/sigs/web-sig
Unsubscribe: 
http://mail.python.org/mailman/options/web-sig/archive%40mail-archive.com

Reply via email to