From 26013f24e47f5b9a7bb6353806de6f0b5f825430 Mon Sep 17 00:00:00 2001 From: Eric Rasche Date: Sun, 26 Jun 2016 13:19:11 +0000 Subject: [PATCH] More defensive proxying --- lib/galaxy/web/proxy/js/lib/proxy.js | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/galaxy/web/proxy/js/lib/proxy.js b/lib/galaxy/web/proxy/js/lib/proxy.js index ea41dc0aab6..c9bb42f7a21 100644 --- a/lib/galaxy/web/proxy/js/lib/proxy.js +++ b/lib/galaxy/web/proxy/js/lib/proxy.js @@ -95,10 +95,15 @@ DynamicProxy.prototype.handleProxyRequest = function(req, res) { this.rewriteRequest(req); res.oldWriteHead = res.writeHead; res.writeHead = function(statusCode, headers) { - try { - res.setHeader('Access-Control-Allow-Origin', origin); + if(origin){ + res.setHeader('Access-Control-Allow-Origin', origin); + } res.setHeader('Access-Control-Allow-Credentials', 'true'); + + if(!headers){ + headers = {}; + } res.oldWriteHead(statusCode, headers); } catch (error) { @@ -128,8 +133,11 @@ DynamicProxy.prototype.handleWs = function(req, res, head) { res.oldWriteHead = res.writeHead; res.writeHead = function(statusCode, headers) { try { - res.setHeader('Access-Control-Allow-Origin', origin); + if(origin){ + res.setHeader('Access-Control-Allow-Origin', origin); + } res.setHeader('Access-Control-Allow-Credentials', 'true'); + if(!headers){ headers = {}; } res.oldWriteHead(statusCode, headers); } catch (error) {