logo

mastofe

My custom branche(s) on git.pleroma.social/pleroma/mastofe
commit: 8c0bc1309fd40807cf5895b492fc7d1a2c9d7b83
parent: ac3f5a831662e9e09233a2efec1d4de48ac8cb7b
Author: Eugen Rochko <eugen@zeonfederated.com>
Date:   Fri,  3 Feb 2017 18:27:42 +0100

Add CORS to the streaming API

Diffstat:

Mstreaming/index.js15++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/streaming/index.js b/streaming/index.js @@ -30,11 +30,23 @@ const pgConfigs = { const app = express() const pgPool = new pg.Pool(pgConfigs[env]) +const allowCrossDomain = (req, res, next) => { + res.header('Access-Control-Allow-Origin', '*') + res.header('Access-Control-Allow-Headers', 'Authorization, Accept, Cache-Control') + res.header('Access-Control-Allow-Methods', 'GET, OPTIONS') + + next() +} + const authenticationMiddleware = (req, res, next) => { + if (req.method === 'OPTIONS') { + return next() + } + const authorization = req.get('Authorization') if (!authorization) { - err = new Error('Missing access token') + const err = new Error('Missing access token') err.statusCode = 401 return next(err) @@ -136,6 +148,7 @@ const streamFrom = (id, req, res, needsFiltering = false) => { redisClient.subscribe(id) } +app.use(allowCrossDomain) app.use(authenticationMiddleware) app.use(errorMiddleware)