Fix default websocket path when running at a subpath #155
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The default path for the websocket endpoint is not treated as relative path, despite all other urls in the application being treated as relative. This means that when running the application at a proxied subpath, (e.g.
/foo/bar/baz/is rewritten to just/by the proxy and sent to the application) the default websocket path is still justwebsockify, and notfoo/bar/baz/websockify. This forces users to make a manual advanced settings change on each new environment.This patch remedies this by checking the current path, appending
websockify(including a slash between, if necessary), then trimming the leading slash. This produces a default path that is correct both when serving from/as well as a subpath, with or without a trailing/.I did not find any docs on how to run or write unit tests, but I am happy to add some if desired.