UNPKG

negotiator-currency

Version:

HTTP content negotiation (plus currency)

45 lines (37 loc) 1.12 kB
(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);