Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * SpaceTweet
- *
- * @author Jacob Thornton <jacob@twitter.com>
- * @license The MIT license.
- * this is file is a hastey mashup of Guillermo Rauch's server from socket.io and Rick Olson's twitter-node
- */
- var fs = require('fs'),
- io = require('../lib/socket.io'),
- sys = require('sys'),
- TwitterNode = require('../lib').TwitterNode,
- path = require("path"),
- Router = require('biggie-router');
- var index_buffer = fs.readFileSync(path.join(__dirname, 'viz.html'));
- router = new Router();
- router.get('/').module('gzip').bind(function (request, response) {
- response.sendBody(index_buffer);
- });
- router.get(/.*\.(js|css)$/).module('gzip');
- router.module('static', __dirname).bind(function (request, response) {
- response.sendBody(404, "Resource '" + request.url + "' not found.");
- });
- router.listen(8080);
- // socket.io, I choose you
- // simplest chat application evar
- var json = JSON.stringify, clients = [];
- var twit = new TwitterNode({
- user: 'spacetweeeet',
- password: 'twitter123',
- track: ['lame', 'bad', 'dumb', 'good', 'cool', 'awesome']
- });
- var broadcast = function(tweet){
- listener.broadcast({tweet: tweet});
- };
- var listener = io.listen(router, {
- onClientConnect: function(client){
- if(!clients.length){
- //wait to stream until 1 connection is made
- twit.addListener('tweet', broadcast).stream();
- }
- clients.push(client);
- },
- onClientDisconnect: function(client){
- clients.splice(clients.indexOf(client), 0);
- }
- });
Add Comment
Please, Sign In to add comment