Skip to content

Fdawgs/fastify-disablecache

Repository files navigation

fastify-disablecache

GitHub Release npm version CI Coverage status code style: Prettier

Fastify plugin to disable client-side caching

Overview

Inspired by nocache, the fastify-disablecache plugin sets the following response headers and values to disable client-side caching:

Cache-Control: no-store, max-age=0, must-revalidate
Expires: 0
Pragma: no-cache
Surrogate-Control: no-store

This plugin was created out of a need for an easy way to disable client-side caching for data received from backend APIs. This ensures data is always current when called by applications.

Why these headers?

Installation

Install using npm:

npm i fastify-disablecache

For Fastify v4.x support, use fastify-disablecache@3.1.9.

Example usage

const Fastify = require("fastify");
const disableCache = require("fastify-disablecache");

const server = Fastify();
server.register(disableCache);

server.get("/", (_req, res) => {
	res.send("ok");
});

server.listen(3000, (err) => {
	if (err) throw err;
	console.log("Server listening on 3000");
});

Contributing

Contributions are welcome, and any help is greatly appreciated!

See the contributing guide for details on how to get started. Please adhere to this project's Code of Conduct when contributing.

Acknowledgements

License

fastify-disablecache is licensed under the MIT license.