You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
_This is more of a feature request, as the issue only occurs with a specific setup (cassandra-web behind an ingress controller or a load balancer). This seems to be related to #27 _
Expected behavior
Can use cassandra-web when it sits behind any kind of proxy-like setup
Actual behavior
The home page doesn't initialize and remain empty. Furthermore, a JS exceptions shows up in the console.
Context
It appears that this limitation is related to the way Cassandra events are propagated to the front-end: The /events endpoint seems to be a blocking requests, which provides vital data in the header. The front-end loads them, by leveraging the XMLHttpRequest.readyState.HEADERS_RECEIVED and then hangs on the request, till it eventually receives event or timeout.
Fix proposal
A way to fix this issue would be to replace this endpoint with a web socket, which are widely supported by proxy-like mechanisms. After making some researches, it seems there is a package called sinatra-websocket which allow to create web-socket in a Sinatra API.
I would definitely offer my help on that one, as it seems very easy to implement, unfortunately, I have never done any Ruby, and while the syntax is very easy, I have no clue on how to provide correct testing for such a change. However, I would be very happy to help on the front-end update.
The text was updated successfully, but these errors were encountered:
_This is more of a feature request, as the issue only occurs with a specific setup (cassandra-web behind an ingress controller or a load balancer). This seems to be related to #27 _
Expected behavior
Can use cassandra-web when it sits behind any kind of proxy-like setup
Actual behavior
The home page doesn't initialize and remain empty. Furthermore, a JS exceptions shows up in the console.
Context
It appears that this limitation is related to the way Cassandra events are propagated to the front-end: The
/events
endpoint seems to be a blocking requests, which provides vital data in the header. The front-end loads them, by leveraging theXMLHttpRequest.readyState.HEADERS_RECEIVED
and then hangs on the request, till it eventually receives event or timeout.Fix proposal
A way to fix this issue would be to replace this endpoint with a web socket, which are widely supported by proxy-like mechanisms. After making some researches, it seems there is a package called sinatra-websocket which allow to create web-socket in a Sinatra API.
I would definitely offer my help on that one, as it seems very easy to implement, unfortunately, I have never done any Ruby, and while the syntax is very easy, I have no clue on how to provide correct testing for such a change. However, I would be very happy to help on the front-end update.
The text was updated successfully, but these errors were encountered: