diff --git a/index.js b/index.js index 1d08942..4d12bba 100644 --- a/index.js +++ b/index.js @@ -14,7 +14,7 @@ * @private */ -var accepts = require('accepts') +var Negotiator = require('negotiator') var Buffer = require('safe-buffer').Buffer var bytes = require('bytes') var compressible = require('compressible') @@ -174,13 +174,8 @@ function compression (options) { } // compression method - var accept = accepts(req) - var method = accept.encoding(['gzip', 'deflate', 'identity']) - - // we really don't prefer deflate - if (method === 'deflate' && accept.encoding(['gzip'])) { - method = accept.encoding(['gzip', 'identity']) - } + var negotiator = new Negotiator(req) + var method = negotiator.encoding(['gzip', 'deflate', 'identity'], ['gzip']) // negotiation failed if (!method || method === 'identity') { diff --git a/package.json b/package.json index 4029fa2..828d025 100644 --- a/package.json +++ b/package.json @@ -9,10 +9,10 @@ "license": "MIT", "repository": "expressjs/compression", "dependencies": { - "accepts": "~1.3.8", "bytes": "3.1.2", "compressible": "~2.0.18", "debug": "2.6.9", + "negotiator": "~0.6.4", "on-headers": "~1.0.2", "safe-buffer": "5.2.1", "vary": "~1.1.2"