2.0.1 • Published 4 years ago

encoding-negotiator v2.0.1

Weekly downloads
14,210
License
MIT
Repository
github
Last release
4 years ago

encoding-negotiator

Install

Build Status Coverage Status NPM version JavaScript Style Guide Greenkeeper badge

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

License

MIT