negotiator-currency
Version:
HTTP content negotiation (plus currency)
45 lines (37 loc) • 1.12 kB
JavaScript
(function() {
var Negotiator, availableCurrencies, http, key, values, server, val;
Negotiator = require('../lib/negotiator').Negotiator;
http = require('http');
values = {
usd: 21.00,
eur: 19.00
};
availableCurrencies = (function() {
var _results;
_results = [];
for (key in values) {
val = values[key];
_results.push(key);
}
return _results;
})();
server = http.createServer(function(req, res) {
var currency, negotiator;
negotiator = new Negotiator(req);
console.log("Accept-Currency: " + req.headers['accept-currency']);
console.log("Preferred: " + (negotiator.preferredCurrencies()));
console.log("Possible: " + (negotiator.preferredCurrencies(availableCurrencies)));
currency = negotiator.preferredCurrency(availableCurrencies);
console.log("Selected: " + currency);
if (currency) {
res.writeHead(200, {
'Content-Currency': currency
});
return res.end(values[currency].toFixed(10));
} else {
res.writeHead(406);
return res.end();
}
});
server.listen(8080);
}).call(this);