Skip to content

Commit f565b0f

Browse files
committed
1 parent b90b4a6 commit f565b0f

File tree

1 file changed

+21
-15
lines changed

1 file changed

+21
-15
lines changed

providers/netty/src/main/java/com/ning/http/client/providers/netty/NettyAsyncHttpProvider.java

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2419,21 +2419,25 @@ public void setContent(ChannelBuffer content) {
24192419
h.onBodyPartReceived(rp);
24202420

24212421
NettyWebSocket webSocket = NettyWebSocket.class.cast(h.onCompleted());
2422-
2423-
if(pendingOpcode == OPCODE_BINARY) {
2424-
webSocket.onBinaryFragment(rp.getBodyPartBytes(),frame.isFinalFragment());
2425-
}
2426-
else {
2427-
webSocket.onTextFragment(frame.getBinaryData().toString(UTF8),frame.isFinalFragment());
2428-
}
24292422

2430-
if (CloseWebSocketFrame.class.isAssignableFrom(frame.getClass())) {
2431-
try {
2432-
webSocket.onClose(CloseWebSocketFrame.class.cast(frame).getStatusCode(), CloseWebSocketFrame.class.cast(frame).getReasonText());
2433-
} catch (Throwable t) {
2434-
// Swallow any exception that may comes from a Netty version released before 3.4.0
2435-
log.trace("", t);
2423+
if (webSocket != null) {
2424+
if(pendingOpcode == OPCODE_BINARY) {
2425+
webSocket.onBinaryFragment(rp.getBodyPartBytes(),frame.isFinalFragment());
2426+
}
2427+
else {
2428+
webSocket.onTextFragment(frame.getBinaryData().toString(UTF8),frame.isFinalFragment());
24362429
}
2430+
2431+
if (CloseWebSocketFrame.class.isAssignableFrom(frame.getClass())) {
2432+
try {
2433+
webSocket.onClose(CloseWebSocketFrame.class.cast(frame).getStatusCode(), CloseWebSocketFrame.class.cast(frame).getReasonText());
2434+
} catch (Throwable t) {
2435+
// Swallow any exception that may comes from a Netty version released before 3.4.0
2436+
log.trace("", t);
2437+
}
2438+
}
2439+
} else {
2440+
log.debug("UpgradeHandler returned a null NettyWebSocket ");
24372441
}
24382442
}
24392443
} else {
@@ -2453,8 +2457,10 @@ public void onError(ChannelHandlerContext ctx, ExceptionEvent e) {
24532457
WebSocketUpgradeHandler h = WebSocketUpgradeHandler.class.cast(nettyResponse.getAsyncHandler());
24542458

24552459
NettyWebSocket webSocket = NettyWebSocket.class.cast(h.onCompleted());
2456-
webSocket.onError(e.getCause());
2457-
webSocket.close();
2460+
if (webSocket != null) {
2461+
webSocket.onError(e.getCause());
2462+
webSocket.close();
2463+
}
24582464
} catch (Throwable t) {
24592465
log.error("onError", t);
24602466
}

0 commit comments

Comments
 (0)