Hi,
I see some people think the HTTP request for a WebSocket upgrade
shouldn't honnor 301/302 redirects. But the spec seems to say it
is ok:
"If the status code received from the server is not 101, the
client handles the response per HTTP [RFC2616] procedures.
In
particular, the client might perform authentication if it
receives a 401 status code; the server might redirect the
client
using a 3xx status code (but clients are not required to
follow
them), etc. Otherwise, proceed as follows."
"The server MAY redirect the client using a 3xx status code
[RFC2616]. Note that this step can happen together with,
before,
or after the optional authentication step described above."
https://tools.ietf.org/html/rfc6455
In the version of Undertow I use, 1.2.12.Final, I see that the
redirect response is handled by org.xnio.http.HttpUpgrade
:
private void handleRedirect(final HttpUpgradeParser parser) {
List<String> location =
parser.getHeaders().get("location");
future.setException(new RedirectException(msg.redirect(),
parser.getResponseCode(), location == null ? null :
location.get(0)));
}
Is it the same behavior in most recent Undertow releases?
Related discussion:
https://github.com/sta/websocket-sharp/issues/42
Thanks,
Julien