2.0.1 • Published 7 years ago

@wyze/spdy-push v2.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
7 years ago

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 entire stream has been flushed.