Skip to content
This repository was archived by the owner on May 14, 2025. It is now read-only.

Latest commit

 

History

History
86 lines (66 loc) · 2.86 KB

File metadata and controls

86 lines (66 loc) · 2.86 KB

Caution

This repository is archived and no longer actively maintained.

We are no longer accepting issues, feature requests, or pull requests. For additional support or questions, please visit the Express.js Discussions page.

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.