@@ -2480,21 +2480,25 @@ public void setContent(ChannelBuffer content) {
2480
2480
h .onBodyPartReceived (rp );
2481
2481
2482
2482
NettyWebSocket webSocket = NettyWebSocket .class .cast (h .onCompleted ());
2483
-
2484
- if (pendingOpcode == OPCODE_BINARY ) {
2485
- webSocket .onBinaryFragment (rp .getBodyPartBytes (),frame .isFinalFragment ());
2486
- }
2487
- else {
2488
- webSocket .onTextFragment (frame .getBinaryData ().toString (UTF8 ),frame .isFinalFragment ());
2489
- }
2490
2483
2491
- if (CloseWebSocketFrame . class . isAssignableFrom ( frame . getClass ()) ) {
2492
- try {
2493
- webSocket .onClose ( CloseWebSocketFrame . class . cast ( frame ). getStatusCode (), CloseWebSocketFrame . class . cast ( frame ). getReasonText ());
2494
- } catch ( Throwable t ) {
2495
- // Swallow any exception that may comes from a Netty version released before 3.4.0
2496
- log . trace ( "" , t );
2484
+ if (webSocket != null ) {
2485
+ if ( pendingOpcode == OPCODE_BINARY ) {
2486
+ webSocket .onBinaryFragment ( rp . getBodyPartBytes (), frame . isFinalFragment ());
2487
+ }
2488
+ else {
2489
+ webSocket . onTextFragment ( frame . getBinaryData (). toString ( UTF8 ), frame . isFinalFragment () );
2497
2490
}
2491
+
2492
+ if (CloseWebSocketFrame .class .isAssignableFrom (frame .getClass ())) {
2493
+ try {
2494
+ webSocket .onClose (CloseWebSocketFrame .class .cast (frame ).getStatusCode (), CloseWebSocketFrame .class .cast (frame ).getReasonText ());
2495
+ } catch (Throwable t ) {
2496
+ // Swallow any exception that may comes from a Netty version released before 3.4.0
2497
+ log .trace ("" , t );
2498
+ }
2499
+ }
2500
+ } else {
2501
+ log .debug ("UpgradeHandler returned a null NettyWebSocket " );
2498
2502
}
2499
2503
}
2500
2504
} else {
@@ -2514,8 +2518,10 @@ public void onError(ChannelHandlerContext ctx, ExceptionEvent e) {
2514
2518
WebSocketUpgradeHandler h = WebSocketUpgradeHandler .class .cast (nettyResponse .getAsyncHandler ());
2515
2519
2516
2520
NettyWebSocket webSocket = NettyWebSocket .class .cast (h .onCompleted ());
2517
- webSocket .onError (e .getCause ());
2518
- webSocket .close ();
2521
+ if (webSocket != null ) {
2522
+ webSocket .onError (e .getCause ());
2523
+ webSocket .close ();
2524
+ }
2519
2525
} catch (Throwable t ) {
2520
2526
log .error ("onError" , t );
2521
2527
}
0 commit comments