2.1.1 • Published 6 years ago

prepare-response v2.1.1

Weekly downloads
2,394
License
MIT
Repository
github
Last release
6 years ago

prepare-response

Prepare a text resposne to be efficiently sent. This is useful when you want to completly cache a specific response in memory and handle etags and gzip.

Build Status Dependency Status NPM version

Installation

npm install prepare-response

Usage

Exports a function with the signature prepare(body, headers), where body is a Buffer or String and headers is an Object.

var express = require('express');
var prepare = require('prepare-response');

var app = express();

var html = prepare('<!DOCTYPE html><html></html>', {'content-type': 'html'}, {
  etag: true, // default: true
  gzip: true // default: true
});
var script = prepare('alert("foo");', {'content-type': 'js', 'cache-control': '1 year'});

app.get('/', function (req, res, next) {
  html.send(req, res, next);
});
app.get('/client.js', function (req, res, next) {
  script.send(req, res, next);
});

All headers are passed through as is, except cache-control and content-type.

  • cache-control - If you pass a number in milliseconds, or a string in the format accepted by ms it will be converted to the appropriate public cache header.
  • content-type - If you don't pass a valid content-type, it will be looked up using mime.

License

MIT