Brotli encoder and decoder for hapi.js
npm install brokBrotli encoder and decoder for hapi.js.
Lead Maintainer - Gil Pedersen
``sh`
npm install brok
Registration with custom quality default:
`js
'use strict';
const Hapi = require('@hapi/hapi');
const Brok = require('brok');
const server = new Hapi.Server({ port: 3000, compression: { minBytes: 1 } });
const provision = async () => {
server.route({
method: 'GET',
path: '/fetch',
handler() {
return 'ok';
}
});
await server.register({
plugin: Brok,
options: {
compress: { quality: 3 }
}
});
await server.start();
console.log('Server running at:', server.info.uri);
};
provision();
`
Once registered, brok enables the server to negotiate and handle the "br" encoding for
compressible responses and uploads.
brok accepts the following registration options:
- compress - compression settings.false
Set to to disable response compression using brotli.quality
- - used to adjust compression speed vs quality from 0 to 11.5
Defaults to .mode
- - compression mode.'generic'
Available values:
- - default compression mode. Default value.'text'
- - optimize for UTF-8 formatted text input.decompress
- - if true, also register the encoding for decompressing incoming payloads.false
Defaults to .
Route specific settings can be set using br object in the compression config. Eg.
`js
server.route({
method: 'GET',
path: '/text',
options: {
handler() {
return 'hello!';
},
compression: {
br: { mode: 'text' }
}
}
});
``