/** * Build a {@link WebSocketUpgradeHandler} * * @return a {@link WebSocketUpgradeHandler} */ public WebSocketUpgradeHandler build() { return new WebSocketUpgradeHandler(listeners); } }
@Override public void onThrowable(Throwable t) { onFailure(t); }
private void invokeOnSucces(Channel channel, WebSocketUpgradeHandler h) { if (!h.touchSuccess()) { try { h.onSuccess(nettyConfig.getNettyWebSocketFactory().newNettyWebSocket(channel, nettyConfig)); } catch (Exception ex) { logger.warn("onSuccess unexpected exception", ex); } } }
ws.onConnect(); WebSocketHolder.set(ctx.getConnection(), context.protocolHandler, ws); ((WebSocketUpgradeHandler) context.getAsyncHandler()).onSuccess(context.webSocket); final int wsTimeout = provider.getClientConfig().getWebSocketTimeout(); IdleTimeoutFilter.setCustomTimeout(ctx.getConnection(), } else { httpHeader.setSkipRemainder(true); ((WebSocketUpgradeHandler) context.getAsyncHandler()).onClose( context.webSocket, 1002, "WebSocket protocol error: unexpected HTTP response status during handshake.");
connection = response.headers().get(HttpHeaders.Names.CONNECTION.toLowerCase(Locale.ENGLISH)); boolean validConnection = HttpHeaders.Values.UPGRADE.equalsIgnoreCase(connection); final boolean statusReceived = handler.onStatusReceived(status) == STATE.UPGRADE; handler.onCompleted(); } finally { future.done(); final boolean headerOK = handler.onHeadersReceived(responseHeaders) == STATE.CONTINUE; if (!headerOK || !validStatus || !validUpgrade || !validConnection) { requestSender.abort(channel, future, new IOException("Invalid handshake response")); NettyWebSocket webSocket = NettyWebSocket.class.cast(handler.onCompleted()); invokeOnSucces(channel, handler); handler.onBodyPartReceived(part);
@Override public void onClose(NettyResponseFuture<?> future) { logger.trace("onClose {}"); try { WebSocketUpgradeHandler h = (WebSocketUpgradeHandler) future.getAsyncHandler(); NettyWebSocket webSocket = NettyWebSocket.class.cast(h.onCompleted()); logger.trace("Connection was closed abnormally (that is, with no close frame being sent)."); if (webSocket != null) webSocket.close(1006, "Connection was closed abnormally (that is, with no close frame being sent)."); } catch (Throwable t) { logger.error("onError", t); } } }
ws.onConnect(); WebSocketHolder.set(ctx.getConnection(), context.protocolHandler, ws); ((WebSocketUpgradeHandler) context.getAsyncHandler()).onSuccess(context.webSocket); final int wsTimeout = provider.getClientConfig().getWebSocketTimeout(); IdleTimeoutFilter.setCustomTimeout(ctx.getConnection(), } else { httpHeader.setSkipRemainder(true); ((WebSocketUpgradeHandler) context.getAsyncHandler()).onClose( context.webSocket, 1002, "WebSocket protocol error: unexpected HTTP response status during handshake.");
@Override public void onError(NettyResponseFuture<?> future, Throwable e) { logger.warn("onError {}", e); Throwable throwable = e.getCause() == null ? e : e.getCause(); try { WebSocketUpgradeHandler h = (WebSocketUpgradeHandler) future.getAsyncHandler(); NettyWebSocket webSocket = NettyWebSocket.class.cast(h.onCompleted()); if (webSocket != null) { webSocket.onError(throwable); webSocket.close(); } } catch (Throwable t) { logger.error("onError", t); } }
ws.onConnect(); WebSocketHolder.set(ctx.getConnection(), context.protocolHandler, ws); ((WebSocketUpgradeHandler) context.getAsyncHandler()).onSuccess(context.webSocket); final int wsTimeout = provider.getClientConfig().getWebSocketTimeout(); IdleTimeoutFilter.setCustomTimeout(ctx.getConnection(), } else { httpHeader.setSkipRemainder(true); ((WebSocketUpgradeHandler) context.getAsyncHandler()).onClose( context.webSocket, 1002, "WebSocket protocol error: unexpected HTTP response status during handshake.");
/** * Build a {@link WebSocketUpgradeHandler} * * @return a {@link WebSocketUpgradeHandler} */ public WebSocketUpgradeHandler build() { return new WebSocketUpgradeHandler(listeners); } }
@Override public void onThrowable(Throwable t) { onFailure(t); }
/** * Build a {@link WebSocketUpgradeHandler} * * @return a {@link WebSocketUpgradeHandler} */ public WebSocketUpgradeHandler build() { return new WebSocketUpgradeHandler(listeners); } }
@Override public void onThrowable(Throwable t) { onFailure(t); }