GUACAMOLE-437: Fix extraHeaders scope

This commit is contained in:
Ignasi Barrera
2017-11-20 18:41:43 +01:00
parent ff2bd3d4f8
commit 227e41fbd9

View File

@@ -226,19 +226,22 @@ Guacamole.HTTPTunnel = function(tunnelURL, crossDomain, extraTunnelHeaders) {
* *
* @private * @private
*/ */
var extraHeaders = extraTunnelHeaders || {} var extraHeaders = extraTunnelHeaders || {};
/** /**
* Adds the configured additional headers to the given request. * Adds the configured additional headers to the given request.
* *
* @params {XMLHttpRequest} request * @param {XMLHttpRequest} request
* The request where the configured extra headers will be added. * The request where the configured extra headers will be added.
* *
* @param {Object} headers
* The headers to be added to the request.
*
* @private * @private
*/ */
function addExtraHeaders(request) { function addExtraHeaders(request, headers) {
for (var name in tunnel.extraHeaders) { for (var name in headers) {
request.setRequestHeader(name, tunnel.extraHeaders[name]); request.setRequestHeader(name, headers[name]);
} }
} }
@@ -350,7 +353,7 @@ Guacamole.HTTPTunnel = function(tunnelURL, crossDomain, extraTunnelHeaders) {
var message_xmlhttprequest = new XMLHttpRequest(); var message_xmlhttprequest = new XMLHttpRequest();
message_xmlhttprequest.open("POST", TUNNEL_WRITE + tunnel.uuid); message_xmlhttprequest.open("POST", TUNNEL_WRITE + tunnel.uuid);
message_xmlhttprequest.withCredentials = withCredentials; message_xmlhttprequest.withCredentials = withCredentials;
addExtraHeaders(message_xmlhttprequest); addExtraHeaders(message_xmlhttprequest, extraHeaders);
message_xmlhttprequest.setRequestHeader("Content-type", "application/octet-stream"); message_xmlhttprequest.setRequestHeader("Content-type", "application/octet-stream");
// Once response received, send next queued event. // Once response received, send next queued event.
@@ -582,7 +585,7 @@ Guacamole.HTTPTunnel = function(tunnelURL, crossDomain, extraTunnelHeaders) {
var xmlhttprequest = new XMLHttpRequest(); var xmlhttprequest = new XMLHttpRequest();
xmlhttprequest.open("GET", TUNNEL_READ + tunnel.uuid + ":" + (request_id++)); xmlhttprequest.open("GET", TUNNEL_READ + tunnel.uuid + ":" + (request_id++));
xmlhttprequest.withCredentials = withCredentials; xmlhttprequest.withCredentials = withCredentials;
addExtraHeaders(xmlhttprequest); addExtraHeaders(xmlhttprequest, extraHeaders);
xmlhttprequest.send(null); xmlhttprequest.send(null);
return xmlhttprequest; return xmlhttprequest;
@@ -625,7 +628,7 @@ Guacamole.HTTPTunnel = function(tunnelURL, crossDomain, extraTunnelHeaders) {
connect_xmlhttprequest.open("POST", TUNNEL_CONNECT, true); connect_xmlhttprequest.open("POST", TUNNEL_CONNECT, true);
connect_xmlhttprequest.withCredentials = withCredentials; connect_xmlhttprequest.withCredentials = withCredentials;
addExtraHeaders(connect_xmlhttprequest); addExtraHeaders(connect_xmlhttprequest, extraHeaders);
connect_xmlhttprequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=UTF-8"); connect_xmlhttprequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=UTF-8");
connect_xmlhttprequest.send(data); connect_xmlhttprequest.send(data);