node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »



NPM version Build status Test coverage Dependency Status License Downloads

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


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', // resolves against CWD 
    }).catch(function (err) {
      console.error(err.stack); // log any critical errors 
  res.statusCode = 204;


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 body
    • filename - 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.