And now we have websocket support!

This doesn't yet implement the raw websocket endpoint used by
non-browsers. It also, at least on Undertow, doesn't support the Hixie
variants because Undertow does not support them.