// Generated by CoffeeScript 1.4.0 (function() { var REDIS_SERVER, RedisStore, SECURE, ca, certificate, client, fs, io, privateKey, rclient, redis, rpub, rsub; fs = require('fs'); redis = require('redis'); REDIS_SERVER = process.env.NODE_ENV === 'development' ? 'localhost' : 'db10'; SECURE = !!process.env.NODE_SSL; client = redis.createClient(6379, REDIS_SERVER); RedisStore = require('socket.io/lib/stores/redis'); rpub = redis.createClient(6379, REDIS_SERVER); rsub = redis.createClient(6379, REDIS_SERVER); rclient = redis.createClient(6379, REDIS_SERVER); if (SECURE) { privateKey = fs.readFileSync('./config/certificates/newsblur.com.key').toString(); certificate = fs.readFileSync('./config/certificates/newsblur.com.crt').toString(); ca = fs.readFileSync('./config/certificates/intermediate.crt').toString(); io = require('socket.io').listen(8889, { key: privateKey, cert: certificate, ca: ca }); } else { io = require('socket.io').listen(8888); } io.configure('production', function() { io.set('log level', 1); io.enable('browser client minification'); io.enable('browser client etag'); return io.enable('browser client gzip'); }); io.configure('development', function() { return io.set('log level', 2); }); io.set('store', new RedisStore({ redisPub: rpub, redisSub: rsub, redisClient: rclient })); io.sockets.on('connection', function(socket) { socket.on('subscribe:feeds', function(feeds, username) { var _ref, _this = this; this.feeds = feeds; this.username = username; console.log((" ---> [" + this.username + "] Subscribing to " + feeds.length + " feeds ") + (" (" + (io.sockets.clients().length) + " users on)")); if ((_ref = socket.subscribe) != null) { _ref.end(); } socket.subscribe = redis.createClient(6379, REDIS_SERVER); socket.subscribe.subscribe(this.feeds); socket.subscribe.subscribe(this.username); return socket.subscribe.on('message', function(channel, message) { console.log(" ---> [" + _this.username + "] Update on " + channel + ": " + message); if (channel === _this.username) { return socket.emit('user:update', channel, message); } else { return socket.emit('feed:update', channel, message); } }); }); return socket.on('disconnect', function() { var _ref; if ((_ref = socket.subscribe) != null) { _ref.end(); } return console.log((" ---> [" + this.username + "] Disconnect, there are now") + (" " + (io.sockets.clients().length - 1) + " users. ") + (" " + (SECURE ? "(SSL)" : "(non-SSL)"))); }); }); }).call(this);