Skip to content
This repository has been archived by the owner on Aug 31, 2024. It is now read-only.

Latest commit

 

History

History
80 lines (61 loc) · 2.58 KB

README.md

File metadata and controls

80 lines (61 loc) · 2.58 KB

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.