language.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. (function() {
  2. var Negotiator, availableLanguages, http, key, messages, server, val;
  3. Negotiator = require('../lib/negotiator').Negotiator;
  4. http = require('http');
  5. messages = {
  6. es: "¡Hola Mundo!",
  7. en: "Hello World!"
  8. };
  9. availableLanguages = (function() {
  10. var _results;
  11. _results = [];
  12. for (key in messages) {
  13. val = messages[key];
  14. _results.push(key);
  15. }
  16. return _results;
  17. })();
  18. server = http.createServer(function(req, res) {
  19. var language, negotiator;
  20. negotiator = new Negotiator(req);
  21. console.log("Accept-Language: " + req.headers['accept-language']);
  22. console.log("Preferred: " + (negotiator.preferredLanguages()));
  23. console.log("Possible: " + (negotiator.preferredLanguages(availableLanguages)));
  24. language = negotiator.preferredLanguage(availableLanguages);
  25. console.log("Selected: " + language);
  26. if (language) {
  27. res.writeHead(200, {
  28. 'Content-Language': language
  29. });
  30. return res.end(messages[language]);
  31. } else {
  32. res.writeHead(406);
  33. return res.end();
  34. }
  35. });
  36. server.listen(8080);
  37. }).call(this);