@Nullable
    private static HttpResponse checkVersion(RequestHeaders headers) {
        // Currently we only support v13.
        final String version = headers.get(HttpHeaderNames.SEC_WEBSOCKET_VERSION);
        if (!WebSocketVersion.V13.toHttpHeaderValue().equalsIgnoreCase(version)) {
            return HttpResponse.of(UNSUPPORTED_WEB_SOCKET_VERSION,
                                   HttpData.ofUtf8("Only 13 version is supported."));
        }
        return null;
    }
Handles the HTTP/2 web socket handshake described in
<a href="https://datatracker.ietf.org/doc/html/rfc8441">Bootstrapping WebSockets with HTTP/2</a>.
These are examples of a request and the corresponding response:

<p>Request:
<pre>
HEADERS + END_HEADERS
:method = CONNECT
:protocol = websocket
:scheme = https
:path = /chat
:authority = server.example.com
sec-websocket-protocol = chat, superchat
sec-websocket-extensions = permessage-deflate
sec-websocket-version = 13
origin = http://www.example.com
</pre>

<p>Response:
<pre>
HEADERS + END_HEADERS
:status = 200
sec-websocket-protocol = chat
</pre>
core/src/main/java/com/linecorp/armeria/internal/server/websocket/DefaultWebSocketService.java