code: @Override
      protected void verify(FullHttpResponse response) {
          if (!response.status().equals(HttpResponseStatus.SWITCHING_PROTOCOLS)) {
              throw new WebSocketHandshakeException("Invalid handshake response getStatus: " + response.status());
          }
  
          HttpHeaders headers = response.headers();
  
          CharSequence upgrade = headers.get(HttpHeaderNames.UPGRADE);
          if (!WEBSOCKET.contentEqualsIgnoreCase(upgrade)) {
              throw new WebSocketHandshakeException("Invalid handshake response upgrade: "
                      + upgrade);
          }
  
          if (!headers.containsValue(HttpHeaderNames.CONNECTION, HttpHeaderValues.UPGRADE, true)) {
              throw new WebSocketHandshakeException("Invalid handshake response connection: "
                      + headers.get(HttpHeaderNames.CONNECTION));
          }
  
          ByteBuf challenge = response.content();
          if (!challenge.equals(expectedChallengeResponseBytes)) {
              throw new WebSocketHandshakeException("Invalid challenge");
          }
      }
docs: <p>
  Process server response:
  </p>
  
  <pre>
  HTTP/1.1 101 WebSocket Protocol Handshake
  Upgrade: WebSocket
  Connection: Upgrade
  Sec-WebSocket-Origin: http://example.com
  Sec-WebSocket-Location: ws://example.com/demo
  Sec-WebSocket-Protocol: sample
  
  8jKS'y:G*Co,Wxa-
  </pre>
  
  @param response
  HTTP response returned from the server for the request sent by beginOpeningHandshake00().
  @throws WebSocketHandshakeException