You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.6 KiB
1.6 KiB
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