SPDY Push helper - will by replaced by http-push
JavaScript
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
test
.eslintrc
.gitignore
.travis.yml
LICENSE
README.md
package.json

README.md

spdy-push

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

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

  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 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.