Guest User

Untitled

a guest
May 29th, 2018
273
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1. /**
  2. * SpaceTweet
  3. *
  4. * @author Jacob Thornton <jacob@twitter.com>
  5. * @license The MIT license.
  6. * this is file is a hastey mashup of Guillermo Rauch's server from socket.io and Rick Olson's twitter-node
  7. */
  8.  
  9. var fs = require('fs'),
  10. io = require('../lib/socket.io'),
  11. sys = require('sys'),
  12. TwitterNode = require('../lib').TwitterNode,
  13. path = require("path"),
  14. Router = require('biggie-router');
  15.  
  16. var index_buffer = fs.readFileSync(path.join(__dirname, 'viz.html'));
  17.  
  18. router = new Router();
  19.  
  20. router.get('/').module('gzip').bind(function (request, response) {
  21. response.sendBody(index_buffer);
  22. });
  23.  
  24. router.get(/.*\.(js|css)$/).module('gzip');
  25.  
  26. router.module('static', __dirname).bind(function (request, response) {
  27. response.sendBody(404, "Resource '" + request.url + "' not found.");
  28. });
  29.  
  30. router.listen(8080);
  31.  
  32. // socket.io, I choose you
  33. // simplest chat application evar
  34. var json = JSON.stringify, clients = [];
  35.  
  36. var twit = new TwitterNode({
  37. user: 'spacetweeeet',
  38. password: 'twitter123',
  39. track: ['lame', 'bad', 'dumb', 'good', 'cool', 'awesome']
  40. });
  41.  
  42. var broadcast = function(tweet){
  43. listener.broadcast({tweet: tweet});
  44. };
  45.  
  46. var listener = io.listen(router, {
  47.  
  48. onClientConnect: function(client){
  49. if(!clients.length){
  50. //wait to stream until 1 connection is made
  51. twit.addListener('tweet', broadcast).stream();
  52. }
  53. clients.push(client);
  54. },
  55.  
  56. onClientDisconnect: function(client){
  57. clients.splice(clients.indexOf(client), 0);
  58. }
  59.  
  60. });
Add Comment
Please, Sign In to add comment