GitHub user mike-jumper opened a pull request:
https://github.com/apache/incubator-guacamole-client/pull/13
GUACAMOLE-44: Implement tunnel REST endpoint
This change implements a new REST endpoint which allows the streams within
a Guacamole connection to be intercepted and handled as normal HTTP transfers.
This is necessary to avoid requiring assembly of the downloaded file within
browser memory, the underlying cause of
[GUACAMOLE-44](https://issues.apache.org/jira/browse/GUACAMOLE-44).
For the REST endpoint to work, tunnels need to have their own unique
identifiers. Thankfully, each instance of `GuacamoleTunnel` already has its own
UUID. This change thus also:
1. Adds a new `uuid` property to implementations of `Guacamole.Tunnel`.
2. Reserves the empty opcode for transport of arbitrary tunnel-specific
data (as there is no way to communicate the UUID over WebSocket otherwise).
The empty opcode was already used in this manner by the HTTP tunnel, but
this use was not documented, nor was it leveraged by the WebSocket tunnel.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/mike-jumper/incubator-guacamole-client
tunnel-service
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/incubator-guacamole-client/pull/13.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #13
----
commit dc89516bb5e5440d598771950a3b982f814e04a6
Author: Michael Jumper <[email protected]>
Date: 2016-04-13T23:35:28Z
GUACAMOLE-44: Implement GuacamoleTunnel which dynamically intercepts stream
contents.
commit 735290ba30ab38245dabc97193137f04955dd42a
Author: Michael Jumper <[email protected]>
Date: 2016-04-13T23:37:38Z
GUACAMOLE-44: Use StreamInterceptingTunnel for absolutely all tunnels.
commit 12d35d4febb532ed4846583361ab929782cd0019
Author: Michael Jumper <[email protected]>
Date: 2016-04-13T23:58:56Z
GUACAMOLE-44: Implement REST endpoint for listing tunnels and retrieving
related data.
commit d39850966029ae19c89cfdb37848b3de3e3abf98
Author: Michael Jumper <[email protected]>
Date: 2016-04-14T01:09:34Z
GUACAMOLE-44: Expose tunnel UUID to JavaScript. Document allowed internal
use of the empty opcode.
commit 0ba8da2dd265898240699b3fe5a181b4ad45566a
Author: Michael Jumper <[email protected]>
Date: 2016-04-15T00:47:34Z
GUACAMOLE-44: Do not wait forever for streams to be notified.
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---