From d68c214f7ffd93459d61d2df2ff25010c458b0d6 Mon Sep 17 00:00:00 2001 From: Stefan Otto Date: Fri, 29 Jun 2018 12:48:50 +0200 Subject: [PATCH 1/2] Fix for delivering svg via node http module --- server/router.js | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/server/router.js b/server/router.js index 97da297..3d266e0 100644 --- a/server/router.js +++ b/server/router.js @@ -158,19 +158,21 @@ const actions = { var resolvedBase = path.resolve('./public'); var safeSuffix = path.normalize(req.url).replace(/^(\.\.[\/\\])+/, ''); var fileLoc = path.join(resolvedBase, safeSuffix); + var headers = {}; - var stream = fs.createReadStream(fileLoc); + var stream = fs.createReadStream(fileLoc); - // Handle non-existent file -> delivering index.html - stream.on('error', function(error) { - stream = fs.createReadStream(path.resolve('./public/index.html')); - res.statusCode = 200; - stream.pipe(res); - }); - - // File exists, stream it to user + // Handle non-existent file -> delivering index.html + stream.on('error', function(error) { + stream = fs.createReadStream(path.resolve('./public/index.html')); res.statusCode = 200; - stream.pipe(res); + stream.pipe(res); + }); + + // File exists, stream it to user + if (parsedUrl.pathname.indexOf('svg') > -1) {headers = {'Content-Type': 'image/svg+xml'}}; + res.writeHead(200, headers); + stream.pipe(res); } }, From e192f4e4243cad52c3aced4c3a801da13f933a2c Mon Sep 17 00:00:00 2001 From: Stefan Otto Date: Fri, 29 Jun 2018 13:09:24 +0200 Subject: [PATCH 2/2] Write to static homer log file --- server/lib/homer.js | 4 +--- server/router.js | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/server/lib/homer.js b/server/lib/homer.js index 00af46a..4b02387 100644 --- a/server/lib/homer.js +++ b/server/lib/homer.js @@ -13,9 +13,7 @@ function homer(server) server.on('newroom', (room) => { const fileName = - path.join( - process.env.MEDIASOUP_HOMER_OUTPUT, - `${(new Date()).toISOString()}_${room.id}`); + path.join(process.env.MEDIASOUP_HOMER_OUTPUT); const stream = fs.createWriteStream(fileName, { flags: 'a' }); diff --git a/server/router.js b/server/router.js index 3d266e0..83e6ff5 100644 --- a/server/router.js +++ b/server/router.js @@ -170,7 +170,7 @@ const actions = { }); // File exists, stream it to user - if (parsedUrl.pathname.indexOf('svg') > -1) {headers = {'Content-Type': 'image/svg+xml'}}; + if (parsedUrl.pathname.indexOf('svg') === parsedUrl.pathname.length -3) {headers = {'Content-Type': 'image/svg+xml'}}; res.writeHead(200, headers); stream.pipe(res); }