1
module.exports = Negotiator;
2
Negotiator.Negotiator = Negotiator;
4
function Negotiator(request) {
5
if (!(this instanceof Negotiator)) return new Negotiator(request);
6
this.request = request;
9
var set = { preferredCharset: [require('./charset.js'), 'accept-charset'],
10
preferredEncoding: [require('./encoding.js'), 'accept-encoding'],
11
preferredLanguage: [require('./language.js'), 'accept-language'],
12
preferredMediaType: [require('./mediaType.js'), 'accept'] };
14
Object.keys(set).forEach(function (k) {
21
Negotiator.prototype[plural] = function (available) {
22
return method(this.request.headers[header], available);
25
Negotiator.prototype[singular] = function(available) {
26
var set = this[plural](available);
27
if (set) return set[0];