File tree Expand file tree Collapse file tree 2 files changed +16
-2
lines changed
main/java/org/java_websocket/drafts
test/java/org/java_websocket/drafts Expand file tree Collapse file tree 2 files changed +16
-2
lines changed Original file line number Diff line number Diff line change @@ -383,7 +383,7 @@ public HandshakeBuilder postProcessHandshakeResponseAsServer( ClientHandshake re
383383 response .put ( UPGRADE , "websocket" );
384384 response .put ( CONNECTION , request .getFieldValue ( CONNECTION ) ); // to respond to a Connection keep alives
385385 String seckey = request .getFieldValue (SEC_WEB_SOCKET_KEY );
386- if ( seckey == null )
386+ if ( seckey == null || "" . equals ( seckey ) )
387387 throw new InvalidHandshakeException ( "missing Sec-WebSocket-Key" );
388388 response .put ( SEC_WEB_SOCKET_ACCEPT , generateFinalKey ( seckey ) );
389389 if ( getExtension ().getProvidedExtensionAsServer ().length () != 0 ) {
Original file line number Diff line number Diff line change 2727
2828import org .java_websocket .enums .CloseHandshakeType ;
2929import org .java_websocket .enums .HandshakeState ;
30+ import org .java_websocket .exceptions .InvalidHandshakeException ;
3031import org .java_websocket .extensions .DefaultExtension ;
3132import org .java_websocket .extensions .IExtension ;
3233import org .java_websocket .framing .BinaryFrame ;
@@ -459,6 +460,19 @@ public void postProcessHandshakeResponseAsServer() throws Exception {
459460 draft_6455 .postProcessHandshakeResponseAsServer (request , response );
460461 assertEquals ( "test" , response .getFieldValue ( "Sec-WebSocket-Protocol" ) );
461462 assertTrue ( !response .hasFieldValue ( "Sec-WebSocket-Extensions" ) );
463+
464+ // issue #1053 : check the exception - missing Sec-WebSocket-Key
465+ response = new HandshakeImpl1Server ();
466+ request = new HandshakeImpl1Client ();
467+ draft_6455 .reset ();
468+ request .put ( "Connection" , "upgrade" );
469+
470+ try {
471+ draft_6455 .postProcessHandshakeResponseAsServer (request , response );
472+ fail ( "InvalidHandshakeException should be thrown" );
473+ } catch ( InvalidHandshakeException e ) {
474+
475+ }
462476 }
463477
464478
@@ -517,4 +531,4 @@ public boolean equals( Object o ) {
517531 return getClass () == o .getClass ();
518532 }
519533 }
520- }
534+ }
You can’t perform that action at this time.
0 commit comments