@Override protected void doExceptionCaught(HttpAcceptSession session, Throwable cause) throws Exception { String msg = String.format("Exception encountered in WsnAcceptor.WsnHttpBridgeHandler: %s", cause.getLocalizedMessage()); if ( logger.isDebugEnabled() ) { logger.warn(msg, cause); } else { logger.warn(msg); } doUpgradeFailure(session); }
@Override protected void doSessionOpened(HttpAcceptSession session) throws Exception { super.doSessionOpened(session); if (!super.doUpgradeEligibilityChecks(session)) { handler.sessionOpened(session); return; wsnHttpDraft76BridgeHandler.sessionOpened(session); wsnHttpDraft75BridgeHandler.sessionOpened(session); } else { doUpgradeFailure(session);
@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); // Handle the case where the Upgrade header is not present as well if (upgrade == null) { return; } if (WEB_SOCKET.equalsIgnoreCase(upgrade) && session.getReadHeader(HEADER_WEBSOCKET_KEY) == null && session.getReadHeader(HEADER_WEBSOCKET_KEY1) != null) { // We're going to assume you are waiting for the extra "key3" bytes in Hixie Draft 76 } else { doUpgradeFailure(session); } }
@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); } }
@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; } // Verify header requirements for paranoia. String upgrade = session.getReadHeader(HEADER_UPGRADE); if (upgrade != null && WEB_SOCKET.equalsIgnoreCase(upgrade) && session.getReadHeader(HEADER_WEBSOCKET_KEY) != null) { // do native upgrade for HyBi draft versions 8+ doUpgrade(session); } else { doUpgradeFailure(session); } }
@Override protected void doMessageReceived(HttpAcceptSession session, Object message) throws Exception { final WsnHttpBridgeHandler handler = (WsnHttpBridgeHandler) session.getAttribute(WSN_HTTP_BRIDGE_HANDLER); if (handler != null ) { handler.messageReceived(session, message); return; } super.doMessageReceived(session, message); }