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