Fix for delivering svg via node http module

master
Stefan Otto 2018-06-29 12:48:50 +02:00
parent 4d7bf89325
commit d68c214f7f
1 changed files with 12 additions and 10 deletions

View File

@ -158,6 +158,7 @@ const actions = {
var resolvedBase = path.resolve('./public'); var resolvedBase = path.resolve('./public');
var safeSuffix = path.normalize(req.url).replace(/^(\.\.[\/\\])+/, ''); var safeSuffix = path.normalize(req.url).replace(/^(\.\.[\/\\])+/, '');
var fileLoc = path.join(resolvedBase, safeSuffix); var fileLoc = path.join(resolvedBase, safeSuffix);
var headers = {};
var stream = fs.createReadStream(fileLoc); var stream = fs.createReadStream(fileLoc);
@ -169,7 +170,8 @@ const actions = {
}); });
// File exists, stream it to user // File exists, stream it to user
res.statusCode = 200; if (parsedUrl.pathname.indexOf('svg') > -1) {headers = {'Content-Type': 'image/svg+xml'}};
res.writeHead(200, headers);
stream.pipe(res); stream.pipe(res);
} }
}, },