diff --git a/History.md b/History.md index 7836590..ae9b61c 100644 --- a/History.md +++ b/History.md @@ -5,6 +5,7 @@ unreleased * Properly support all HTTP methods * Support vanilla node.js http servers * Treat `ENAMETOOLONG` as code 414 + * Use accepts for negotiation 1.0.3 / 2014-05-20 ================== diff --git a/index.js b/index.js index 42f4d50..bc3dc9b 100644 --- a/index.js +++ b/index.js @@ -14,6 +14,7 @@ * Module dependencies. */ +var accepts = require('accepts'); var http = require('http') , fs = require('fs') , parse = require('url').parse @@ -23,7 +24,6 @@ var http = require('http') , extname = path.extname , join = path.join; var Batch = require('batch'); -var Negotiator = require('negotiator'); /*! * Icon cache. @@ -130,9 +130,8 @@ exports = module.exports = function serveIndex(root, options){ files.sort(); // content-negotiation - var type = req.headers.accept === undefined - ? mediaTypes[0] - : new Negotiator(req).preferredMediaType(mediaTypes); + var accept = accepts(req); + var type = accept.types(mediaTypes); // not acceptable if (!type) return next(createError(406)); diff --git a/package.json b/package.json index f6048a1..e90d6a0 100644 --- a/package.json +++ b/package.json @@ -12,8 +12,8 @@ "url": "https://github.com/expressjs/serve-index/issues" }, "dependencies": { - "batch": "0.5.0", - "negotiator": "0.4.3" + "accepts": "1.0.2", + "batch": "0.5.0" }, "devDependencies": { "istanbul": "0.2.10",