hapi-etagger
Hapi server plug-in for etags and HTTP 304 support.
It utilizes the popular etag library.
Tested with
- Hapi 20 on Node 12/14/15
- Hapi 19 on Node 12/14/15
Install
npm install hapi-etagger
Purpose
This plug-in provides a simple way to support etags and HTTP 304.
By default, it adds etags and HTTP 304 support to all requests that meet the following criteria:
- method is GET
- status code is 2xx
- response payload is a String, a stringifyable object or a Buffer
It is possible to opt-out.
Usage
Register the plugin with Hapi server like this:
const Hapi = require('@hapi/hapi');
const etags = require('hapi-etagger');
const server = new Hapi.Server({
port: 3000,
});
const provision = async () => {
await server.register(etags);
await server.start();
};
provision();
You can opt-out by route configuration, e.g.:
server.route({
method: 'GET',
path: '/example/{id}',
options: {
plugins: {
'hapi-etagger': {
enabled: false,
},
},
},
});