JSPM

encoding-negotiator

2.0.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 82224
  • Score
    100M100P100Q174286F
  • License MIT

a negotiator for the accept-encoding header

Package Exports

  • encoding-negotiator

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (encoding-negotiator) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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.

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