Added support for multiple tunnels (tunnel UUID returned by connect).

This commit is contained in:
Michael Jumper
2011-04-08 16:28:33 -07:00
parent f6c2d0c88f
commit 92d68a3987

View File

@@ -18,9 +18,11 @@
function GuacamoleHTTPTunnel(tunnelURL) { function GuacamoleHTTPTunnel(tunnelURL) {
var tunnel_uuid;
var TUNNEL_CONNECT = tunnelURL + "?connect"; var TUNNEL_CONNECT = tunnelURL + "?connect";
var TUNNEL_READ = tunnelURL + "?read"; var TUNNEL_READ = tunnelURL + "?read:";
var TUNNEL_WRITE = tunnelURL + "?write"; var TUNNEL_WRITE = tunnelURL + "?write:";
var STATE_IDLE = 0; var STATE_IDLE = 0;
var STATE_CONNECTED = 1; var STATE_CONNECTED = 1;
@@ -59,7 +61,7 @@ function GuacamoleHTTPTunnel(tunnelURL) {
sendingMessages = 1; sendingMessages = 1;
var message_xmlhttprequest = new XMLHttpRequest(); var message_xmlhttprequest = new XMLHttpRequest();
message_xmlhttprequest.open("POST", TUNNEL_WRITE); message_xmlhttprequest.open("POST", TUNNEL_WRITE + tunnel_uuid);
message_xmlhttprequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); message_xmlhttprequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
// Once response received, send next queued event. // Once response received, send next queued event.
@@ -204,7 +206,7 @@ function GuacamoleHTTPTunnel(tunnelURL) {
// Download self // Download self
var xmlhttprequest = new XMLHttpRequest(); var xmlhttprequest = new XMLHttpRequest();
xmlhttprequest.open("POST", TUNNEL_READ); xmlhttprequest.open("POST", TUNNEL_READ + tunnel_uuid);
xmlhttprequest.send(null); xmlhttprequest.send(null);
return xmlhttprequest; return xmlhttprequest;
@@ -219,6 +221,9 @@ function GuacamoleHTTPTunnel(tunnelURL) {
connect_xmlhttprequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); connect_xmlhttprequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
connect_xmlhttprequest.send(null); connect_xmlhttprequest.send(null);
// Get UUID from response
tunnel_uuid = connect_xmlhttprequest.responseText;
// Start reading data // Start reading data
currentState = STATE_CONNECTED; currentState = STATE_CONNECTED;
handleResponse(makeRequest()); handleResponse(makeRequest());