diff options
author | ThibG <thib@sitedethib.com> | 2018-05-21 17:51:06 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-21 17:51:06 +0200 |
commit | 162f1863a74efdbd2912fef671338c545721742c (patch) | |
tree | 9ed60f78e2e8acc823bccb7c75ecaa3fdb1b7ab6 /streaming | |
parent | 98ecadbf99aa823164608f796a40ab1cd067bdc2 (diff) | |
parent | a4c9bda771c04526005f708dfb9ca2ccced60d52 (diff) |
Merge pull request #499 from ThibG/glitch-soc/merge-upstream
Merge upstream changes
Diffstat (limited to 'streaming')
-rw-r--r-- | streaming/index.js | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/streaming/index.js b/streaming/index.js index 48bab8078..4eaf66865 100644 --- a/streaming/index.js +++ b/streaming/index.js @@ -241,7 +241,9 @@ const startWorker = (workerId) => { const PUBLIC_STREAMS = [ 'public', + 'public:media', 'public:local', + 'public:local:media', 'hashtag', 'hashtag:local', ]; @@ -459,11 +461,17 @@ const startWorker = (workerId) => { }); app.get('/api/v1/streaming/public', (req, res) => { - streamFrom('timeline:public', req, streamToHttp(req, res), streamHttpEnd(req), true); + const onlyMedia = req.query.only_media === '1' || req.query.only_media === 'true'; + const channel = onlyMedia ? 'timeline:public:media' : 'timeline:public'; + + streamFrom(channel, req, streamToHttp(req, res), streamHttpEnd(req), true); }); app.get('/api/v1/streaming/public/local', (req, res) => { - streamFrom('timeline:public:local', req, streamToHttp(req, res), streamHttpEnd(req), true); + const onlyMedia = req.query.only_media === '1' || req.query.only_media === 'true'; + const channel = onlyMedia ? 'timeline:public:local:media' : 'timeline:public:local'; + + streamFrom(channel, req, streamToHttp(req, res), streamHttpEnd(req), true); }); app.get('/api/v1/streaming/direct', (req, res) => { @@ -521,6 +529,12 @@ const startWorker = (workerId) => { case 'public:local': streamFrom('timeline:public:local', req, streamToWs(req, ws), streamWsEnd(req, ws), true); break; + case 'public:media': + streamFrom('timeline:public:media', req, streamToWs(req, ws), streamWsEnd(req, ws), true); + break; + case 'public:local:media': + streamFrom('timeline:public:local:media', req, streamToWs(req, ws), streamWsEnd(req, ws), true); + break; case 'direct': streamFrom(`timeline:direct:${req.accountId}`, req, streamToWs(req, ws), streamWsEnd(req, ws), true); break; |