Streaming Hillary

This commit is contained in:
Rodrigo Pedroso 2019-06-25 01:40:15 -04:00
commit 3235956181
7 changed files with 387 additions and 65 deletions

View file

@ -2,25 +2,54 @@
const express = require('express')
const app = express()
const http = require('http').createServer(app)
const io = require('socket.io')(http)
const cors = require('cors')
const port = 3030
const env = process.env.NODE_ENV || 'dev'
const bodyparser = require('body-parser')
const path = require('path')
const apiRoutes = require('./server/api.js')
const config = require('./config/config.json')
var Twitter = require('twitter')
let streamClient = new Twitter({
consumer_key: config.consumer_key,
consumer_secret: config.consumer_secret,
access_token_key: config.access_token_key,
access_token_secret: config.access_token_secret
})
// Bodyparser
app.use(bodyparser.urlencoded({ extended: true }))
app.use(bodyparser.json())
// Cors
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*")
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept")
next()
})
app.use(cors())
// Routing
app.use('/api', apiRoutes)
app.listen(port, () => console.log(`Server listening on port ${port}`))
// Socket
io.on('connection', (socket) => {
console.log('User connected')
let stream1 = streamClient.stream('statuses/filter', {track: 'Hillary%20Clinton'})
// streamClient.stream('statuses/filter', {track: 'Hillary%20Clinton'}, function(stream) {
stream1.on('data', function(tweet) {
io.emit('tweet', tweet)
})
stream1.on('error', function(error) {
console.log(error)
})
// })
socket.on('disconnect', () => {
stream1.destroy()
console.log('User disconnected')
})
})
http.listen(port, () => console.log(`Server listening on port ${port}`))