@@ -149,14 +149,17 @@ public Draft_6455( List<IExtension> inputExtensions , List<IProtocol> inputProto
149149 @ Override
150150 public HandshakeState acceptHandshakeAsServer ( ClientHandshake handshakedata ) throws InvalidHandshakeException {
151151 int v = readVersion ( handshakedata );
152- if ( v != 13 )
152+ if ( v != 13 ) {
153+ logDebug ("acceptHandshakeAsServer - Wrong websocket version." );
153154 return HandshakeState .NOT_MATCHED ;
154- HandshakeState extensionState = HandshakeState .NOT_MATCHED ;
155+ }
156+ HandshakeState extensionState = HandshakeState .NOT_MATCHED ;
155157 String requestedExtension = handshakedata .getFieldValue ( "Sec-WebSocket-Extensions" );
156158 for ( IExtension knownExtension : knownExtensions ) {
157159 if ( knownExtension .acceptProvidedExtensionAsServer ( requestedExtension ) ) {
158160 extension = knownExtension ;
159161 extensionState = HandshakeState .MATCHED ;
162+ logDebug ("acceptHandshakeAsServer - Matching extension found: " + extension .toString ());
160163 break ;
161164 }
162165 }
@@ -166,36 +169,44 @@ public HandshakeState acceptHandshakeAsServer( ClientHandshake handshakedata ) t
166169 if ( knownProtocol .acceptProvidedProtocol ( requestedProtocol ) ) {
167170 protocol = knownProtocol ;
168171 protocolState = HandshakeState .MATCHED ;
172+ logDebug ("acceptHandshakeAsServer - Matching protocol found: " + protocol .toString ());
169173 break ;
170174 }
171175 }
172176 if (protocolState == HandshakeState .MATCHED && extensionState == HandshakeState .MATCHED ) {
173177 return HandshakeState .MATCHED ;
174178 }
179+ logDebug ("acceptHandshakeAsServer - No matching extension or protocol found." );
175180 return HandshakeState .NOT_MATCHED ;
176181 }
177182
178183 @ Override
179184 public HandshakeState acceptHandshakeAsClient ( ClientHandshake request , ServerHandshake response ) throws InvalidHandshakeException {
180185 if (! basicAccept ( response )) {
186+ logDebug ("acceptHandshakeAsClient - Missing/wrong upgrade or connection in handshake." );
181187 return HandshakeState .NOT_MATCHED ;
182188 }
183- if ( !request .hasFieldValue ( "Sec-WebSocket-Key" ) || !response .hasFieldValue ( "Sec-WebSocket-Accept" ) )
189+ if ( !request .hasFieldValue ( "Sec-WebSocket-Key" ) || !response .hasFieldValue ( "Sec-WebSocket-Accept" ) ) {
190+ logDebug ("acceptHandshakeAsClient - Missing Sec-WebSocket-Key or Sec-WebSocket-Accept" );
184191 return HandshakeState .NOT_MATCHED ;
192+ }
185193
186194 String seckey_answere = response .getFieldValue ( "Sec-WebSocket-Accept" );
187195 String seckey_challenge = request .getFieldValue ( "Sec-WebSocket-Key" );
188196 seckey_challenge = generateFinalKey ( seckey_challenge );
189197
190- if ( !seckey_challenge .equals ( seckey_answere ) )
198+ if ( !seckey_challenge .equals ( seckey_answere ) ) {
199+ logDebug ("acceptHandshakeAsClient - Wrong key for Sec-WebSocket-Key." );
191200 return HandshakeState .NOT_MATCHED ;
201+ }
192202
193203 HandshakeState extensionState = HandshakeState .NOT_MATCHED ;
194204 String requestedExtension = response .getFieldValue ( "Sec-WebSocket-Extensions" );
195205 for ( IExtension knownExtension : knownExtensions ) {
196206 if ( knownExtension .acceptProvidedExtensionAsClient ( requestedExtension ) ) {
197207 extension = knownExtension ;
198208 extensionState = HandshakeState .MATCHED ;
209+ logDebug ("acceptHandshakeAsClient - Matching extension found: " + extension .toString ());
199210 break ;
200211 }
201212 }
@@ -205,12 +216,14 @@ public HandshakeState acceptHandshakeAsClient( ClientHandshake request, ServerHa
205216 if ( knownProtocol .acceptProvidedProtocol ( requestedProtocol ) ) {
206217 protocol = knownProtocol ;
207218 protocolState = HandshakeState .MATCHED ;
219+ logDebug ("acceptHandshakeAsClient - Matching protocol found: " + protocol .toString ());
208220 break ;
209221 }
210222 }
211223 if (protocolState == HandshakeState .MATCHED && extensionState == HandshakeState .MATCHED ) {
212224 return HandshakeState .MATCHED ;
213225 }
226+ logDebug ("acceptHandshakeAsClient - No matching extension or protocol found." );
214227 return HandshakeState .NOT_MATCHED ;
215228 }
216229
@@ -761,4 +774,10 @@ private ByteBuffer getPayloadFromByteBufferList() throws LimitExedeedException {
761774 resultingByteBuffer .flip ();
762775 return resultingByteBuffer ;
763776 }
777+
778+ private static void logDebug (Object object ) {
779+ if (WebSocketImpl .DEBUG ) {
780+ System .out .println (object );
781+ }
782+ }
764783}
0 commit comments