@Override protected void doSessionOpened(HttpAcceptSession session) throws Exception { super.doSessionOpened(session); if (!super.doUpgradeEligibilityChecks(session)) { // prevent processing of WebSocket handshake for failed upgrades (e.g. path not found). return; } String upgrade = session.getReadHeader(HEADER_UPGRADE); if ( upgrade != null && WEB_SOCKET.equalsIgnoreCase(upgrade) && session.getReadHeader(HEADER_WEBSOCKET_KEY) == null && session.getReadHeader(HEADER_WEBSOCKET_KEY1) == null) { // The absence of any sec- headers indicates that the UA speaks // WebSocket protocol version 75 doUpgrade75(session); } else { doUpgradeFailure(session); } }