🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
DemoInstallSign in
Socket

connect-cache-control-middleware

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

connect-cache-control-middleware

A Connect/Express middleware for setting max-age and stale-while-revalidate Cache-Control headers

1.0.0
latest
npm
Version published
Weekly downloads
3
Maintainers
1
Weekly downloads
 
Created
Source

Connect Cache Control Middleware

A Connect/Express middleware for consistently setting Cache-Control headers

Installing

npm i --save connect-cache-control-middleware

Usage

var cacheControlMiddleware = require('connect-cache-control-middleware');

// creates a middleware instance that prevents caching
var preventCaching = cacheControlMiddleware.create();

// creates a middleware instance that caches routes
var allowCaching = cacheControlMiddleware.create({
	maxAge: 600,
	staleWhileRevalidate: 86400
});

app.get('/dont-cache-me', [preventCaching], someHandlerFunction);
app.use(allowCaching);

API

cacheControlMiddleware.create([cacheControlConfig])

Returns a new instance of the middleware handler which can be passed to Connect.

If cacheControlConfig is omitted, then the middleware sets the following headers on each request:

  • Cache-Control: 'no-cache, no-store, must-revalidate'
  • User-Cache-Control: 'no-cache, no-store, must-revalidate'
  • Pragma: 'no-cache'
  • Expires: '0'

Otherwise, it will set Cache-Control and User-Cache-Control to:

  • max-age=<cacheControlConfig.maxAge>
  • stale-while-revalidate=<cacheControlConfig.staleWhileRevalidate>

cacheControlMiddleware.buildCacheControlHeader(cacheControlConfig)

A helper function, used internally, to consistently build Cache-Control headers. This is exposed publicly if one requires to set headers outside of the middleware chain e.g. express-remote-handlebars.

As with the create method, cacheControlConfig should be an object exposing respective maxAge and staleWhileRevalidate properties.

This method returns a String.

Unit tests

  • npm i
  • npm test

Releasing

  • Bump version number in package.json (semver please!)
  • git tag release-<version number>
  • git push origin --tags

Keywords

mrporter

FAQs

Package last updated on 08 Jan 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts