@@ -2419,21 +2419,25 @@ public void setContent(ChannelBuffer content) {
2419
2419
h .onBodyPartReceived (rp );
2420
2420
2421
2421
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
- }
2429
2422
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 () );
2436
2429
}
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 " );
2437
2441
}
2438
2442
}
2439
2443
} else {
@@ -2453,8 +2457,10 @@ public void onError(ChannelHandlerContext ctx, ExceptionEvent e) {
2453
2457
WebSocketUpgradeHandler h = WebSocketUpgradeHandler .class .cast (nettyResponse .getAsyncHandler ());
2454
2458
2455
2459
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
+ }
2458
2464
} catch (Throwable t ) {
2459
2465
log .error ("onError" , t );
2460
2466
}
0 commit comments