%PDF- %PDF-
Direktori : /usr/share/doc/node-negotiator/examples/ |
Current File : //usr/share/doc/node-negotiator/examples/charset.js |
(function() { var Buffer, Iconv, Negotiator, availableCharsets, http, iconv, key, message, messages, server, val; Negotiator = require('../lib/negotiator').Negotiator; http = require('http'); Buffer = require('buffer').Buffer; Iconv = require('iconv').Iconv; iconv = new Iconv('UTF-8', 'ISO-8859-1'); message = "ë"; messages = { 'utf-8': message, 'iso-8859-1': iconv.convert(new Buffer(message)) }; availableCharsets = (function() { var _results; _results = []; for (key in messages) { val = messages[key]; _results.push(key); } return _results; })(); server = http.createServer(function(req, res) { var charset, negotiator; negotiator = new Negotiator(req); console.log("Accept-Charset: " + req.headers['accept-charset']); console.log("Preferred: " + (negotiator.charsets())); console.log("Possible: " + (negotiator.charsets(availableCharsets))); charset = negotiator.charset(availableCharsets); console.log("Selected: " + charset); if (charset) { res.writeHead(200, { 'Content-Type': "text/html; charset=" + charset }); return res.end(messages[charset]); } else { res.writeHead(406); return res.end(); } }); server.listen(8080); }).call(this);