spdy-push
A SPDY Push helper to be used with spdy.
- Handles
close
events and file descriptor leaks - Automatically gzips
- Automatically sets the
content-length
and content-type
headers if it can - Supports pushing strings, buffers, streams, and files
Example
var spdy = require('spdy-push');
require('spdy').createServer(require('spdy-keys'), function (req, res) {
if (res.isSpdy) {
spdy(res).push('/script.js', {
filename: 'public/script.js',
}).catch(function (err) {
console.error(err.stack);
})
}
res.statusCode = 204;
res.end();
})
API
spdy(res).push([path], [options], [priority]).then( => )
path
is the path of the object being pushed.
Can also be set as options.path
.priority
is the priority between 0-7
of the push stream
with 7
, the default, being the lowest priority.
Can also be set as options.priority
.options
are:
headers
body
- a String
, Buffer
, or Stream.Readable
bodyfilename
- a path to a file. Resolves against CWD.
Either options.body
or options.filename
must be set.
You do not need to set the following headers:
content-encoding
content-length
content-type
.then( => )
Waits until the acknowledge event.
.send().then( => )
Waits until the entire stream has been flushed.