コード例 #1
0
ファイル: Handshake.java プロジェクト: kaysar07cuet/tyrus
  /**
   * Client side only - validate server response.
   *
   * @param response response to be validated.
   * @throws HandshakeException when HTTP Status of received response is not 101 - Switching
   *     protocols.
   */
  public void validateServerResponse(UpgradeResponse response) throws HandshakeException {
    if (RESPONSE_CODE_VALUE != response.getStatus()) {
      throw new HandshakeException(
          response.getStatus(),
          LocalizationMessages.INVALID_RESPONSE_CODE(RESPONSE_CODE_VALUE, response.getStatus()));
    }

    checkForHeader(
        response.getFirstHeaderValue(UpgradeRequest.UPGRADE),
        UpgradeRequest.UPGRADE,
        UpgradeRequest.WEBSOCKET);
    checkForHeader(
        response.getFirstHeaderValue(UpgradeRequest.CONNECTION),
        UpgradeRequest.CONNECTION,
        UpgradeRequest.UPGRADE);

    //        if (!getSubProtocols().isEmpty()) {
    //            checkForHeader(response.getHeaders(), WebSocketEngine.SEC_WS_PROTOCOL_HEADER,
    //                           WebSocketEngine.SEC_WS_PROTOCOL_HEADER);
    //        }

    secKey.validateServerKey(response.getFirstHeaderValue(HandshakeResponse.SEC_WEBSOCKET_ACCEPT));
  }