Details
-
Improvement
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
None
-
None
-
None
Description
When using an HTTPTunnel in guacamole-common-js to interact with a cross-domain guacamole-server instance, the tunnel abruptly closes after being assigned a UUID with the status code UPSTREAM_NOT_FOUND, and no additional message.
After having looked through the guacamole-common-js source, the closed tunnel was triggered due to the XMLHttpRequest library's getResponseHeader method not having access to custom headers for CORS requests unless they were explicitly included in an Access-Control-Expose-Headers header:
Access-Control-Expose-Headers: Guacamole-Tunnel-Token
My proposal is to include this either in the plugin as a more descriptive error message, or in the documentation for users who may encounter the same. Using the status code UPSTREAM_NOT_FOUND without additional context seems misleading in this case.