[Web-SIG] FYI: nbhttp

Mark Nottingham mnot at mnot.net
Wed Jun 17 01:45:55 CEST 2009


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/



More information about the Web-SIG mailing list