[ 
https://issues.apache.org/jira/browse/GUACAMOLE-1842?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dmitry Kutin updated GUACAMOLE-1842:
------------------------------------
    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:

 
{code:java}
Access-Control-Expose-Headers: Guacamole-Tunnel-Token{code}
 

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.

  was:
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 plugin _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:

 
{code:java}
Access-Control-Expose-Headers: Guacamole-Tunnel-Token{code}
 

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.


> Include a more descriptive message on tunnel close due to missing header on 
> CORS
> --------------------------------------------------------------------------------
>
>                 Key: GUACAMOLE-1842
>                 URL: https://issues.apache.org/jira/browse/GUACAMOLE-1842
>             Project: Guacamole
>          Issue Type: Improvement
>          Components: guacamole-common-js
>            Reporter: Dmitry Kutin
>            Priority: Minor
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> 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:
>  
> {code:java}
> Access-Control-Expose-Headers: Guacamole-Tunnel-Token{code}
>  
> 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.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to