http-raw
expose the raw request data in an http server
example
var createServer = ;var through = ;var server =;server;{return;}
$ node example/server.js &
$ nc localhost 7000
PUT / HTTP/1.1
Host: robots
HTTP/1.1 200 OK
beep
BEEP
boop
BOOP
methods
var httpRaw =
The http-raw api is exactly like the http.createServer(cb)
api from core,
except for the extra functions documented below that get attached to the req
and res
objects in the
'request'
and
'upgrade'
events.
var server = httpRaw(cb)
Create a new http server with extended raw stream functions.
var server = httpRaw.https(options, cb)
Create a new https server with extended raw stream functions.
var rs = req.createRawStream()
Return a readable stream rs
. rs
will emit all the raw data from the
connection, including the buffered header data without doing any parsing on the
data beforehand.
On the same tick as the response handler, s.buffers
will contain an array of
all the buffered data.
On the next tick s.buffers
gets set to undefined to it can be garbage
collected.
To get all the data, req.createRawStream()
must be fired on the same tick as
the response callback.
var ws = res.createRawStream()
Return a writable stream ws
that will be written directly to the underlying
network socket without any additional framing added.
var bs = req.createRawBodyStream()
Return a readable stream bs
like the stream returned by
req.createRawStream()
, but only emit the raw body data, not the headers.
To get all the data, req.createRawBodyStream()
must be fired on the same tick
as the response callback.
install
With npm do:
npm install http-raw
license
MIT