From c8252759df98f41860b0580b029d9efa374c7125 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Mon, 6 Feb 2017 23:46:14 +0100 Subject: Add streaming API channels for local-only statuses --- streaming/index.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'streaming/index.js') diff --git a/streaming/index.js b/streaming/index.js index 49686b859..e2e8f943e 100644 --- a/streaming/index.js +++ b/streaming/index.js @@ -212,11 +212,21 @@ app.get('/api/v1/streaming/public', (req, res) => { streamFrom(redisClient, 'timeline:public', req, streamToHttp(req, res, redisClient), true) }) +app.get('/api/v1/streaming/public/local', (req, res) => { + const redisClient = getRedisClient() + streamFrom(redisClient, 'timeline:public:local', req, streamToHttp(req, res, redisClient), true) +}) + app.get('/api/v1/streaming/hashtag', (req, res) => { const redisClient = getRedisClient() streamFrom(redisClient, `timeline:hashtag:${req.params.tag}`, req, streamToHttp(req, res, redisClient), true) }) +app.get('/api/v1/streaming/hashtag/local', (req, res) => { + const redisClient = getRedisClient() + streamFrom(redisClient, `timeline:hashtag:${req.params.tag}:local`, req, streamToHttp(req, res, redisClient), true) +}) + wss.on('connection', ws => { const location = url.parse(ws.upgradeReq.url, true) const token = location.query.access_token @@ -238,9 +248,15 @@ wss.on('connection', ws => { case 'public': streamFrom(redisClient, 'timeline:public', req, streamToWs(req, ws, redisClient), true) break; + case 'public:local': + streamFrom(redisClient, 'timeline:public:local', req, streamToWs(req, ws, redisClient), true) + break; case 'hashtag': streamFrom(redisClient, `timeline:hashtag:${location.query.tag}`, req, streamToWs(req, ws, redisClient), true) break; + case 'hashtag:local': + streamFrom(redisClient, `timeline:hashtag:${location.query.tag}:local`, req, streamToWs(req, ws, redisClient), true) + break; default: ws.close() } -- cgit