encoding-negotiator
v2.0.1
Published
a negotiator for the accept-encoding header
Downloads
349,166
Maintainers
Readme
encoding-negotiator
Install
npm install encoding-negotiator
Example
const encodingNegotiator = require('encoding-negotiator');
encodingNegotiator.negotiate({
header: 'compress;q=0.5, gzip;q=1.0',
supportedEncodings: ['gzip', 'deflate', 'identity']
); //returns gzip
API
negotiate(header, supported)
Returns the most preffered encoding available in supportedEncodings
The first
element of the supportedEncodings
array will be used in case of an asterisk.
header
The accept-encoding
header.
supportedEncodings
An array of the supported encodings.
prefferedEncoding (optional)
An encoding preffered by the server if the client sends multiple encodings no
quality value (for example Accept-Encoding: gzip, deflate, br
).
Benchmark
$ node benchmark/benchmark.js
negotiator x 260,201 ops/sec ±0.64% (88 runs sampled)
encoding-negotiator x 434,196 ops/sec ±1.23% (88 runs sampled)
Fastest is encoding-negotiator