@@ -149,14 +149,17 @@ public Draft_6455( List<IExtension> inputExtensions , List<IProtocol> inputProto
149
149
@ Override
150
150
public HandshakeState acceptHandshakeAsServer ( ClientHandshake handshakedata ) throws InvalidHandshakeException {
151
151
int v = readVersion ( handshakedata );
152
- if ( v != 13 )
152
+ if ( v != 13 ) {
153
+ logDebug ("acceptHandshakeAsServer - Wrong websocket version." );
153
154
return HandshakeState .NOT_MATCHED ;
154
- HandshakeState extensionState = HandshakeState .NOT_MATCHED ;
155
+ }
156
+ HandshakeState extensionState = HandshakeState .NOT_MATCHED ;
155
157
String requestedExtension = handshakedata .getFieldValue ( "Sec-WebSocket-Extensions" );
156
158
for ( IExtension knownExtension : knownExtensions ) {
157
159
if ( knownExtension .acceptProvidedExtensionAsServer ( requestedExtension ) ) {
158
160
extension = knownExtension ;
159
161
extensionState = HandshakeState .MATCHED ;
162
+ logDebug ("acceptHandshakeAsServer - Matching extension found: " + extension .toString ());
160
163
break ;
161
164
}
162
165
}
@@ -166,36 +169,44 @@ public HandshakeState acceptHandshakeAsServer( ClientHandshake handshakedata ) t
166
169
if ( knownProtocol .acceptProvidedProtocol ( requestedProtocol ) ) {
167
170
protocol = knownProtocol ;
168
171
protocolState = HandshakeState .MATCHED ;
172
+ logDebug ("acceptHandshakeAsServer - Matching protocol found: " + protocol .toString ());
169
173
break ;
170
174
}
171
175
}
172
176
if (protocolState == HandshakeState .MATCHED && extensionState == HandshakeState .MATCHED ) {
173
177
return HandshakeState .MATCHED ;
174
178
}
179
+ logDebug ("acceptHandshakeAsServer - No matching extension or protocol found." );
175
180
return HandshakeState .NOT_MATCHED ;
176
181
}
177
182
178
183
@ Override
179
184
public HandshakeState acceptHandshakeAsClient ( ClientHandshake request , ServerHandshake response ) throws InvalidHandshakeException {
180
185
if (! basicAccept ( response )) {
186
+ logDebug ("acceptHandshakeAsClient - Missing/wrong upgrade or connection in handshake." );
181
187
return HandshakeState .NOT_MATCHED ;
182
188
}
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" );
184
191
return HandshakeState .NOT_MATCHED ;
192
+ }
185
193
186
194
String seckey_answere = response .getFieldValue ( "Sec-WebSocket-Accept" );
187
195
String seckey_challenge = request .getFieldValue ( "Sec-WebSocket-Key" );
188
196
seckey_challenge = generateFinalKey ( seckey_challenge );
189
197
190
- if ( !seckey_challenge .equals ( seckey_answere ) )
198
+ if ( !seckey_challenge .equals ( seckey_answere ) ) {
199
+ logDebug ("acceptHandshakeAsClient - Wrong key for Sec-WebSocket-Key." );
191
200
return HandshakeState .NOT_MATCHED ;
201
+ }
192
202
193
203
HandshakeState extensionState = HandshakeState .NOT_MATCHED ;
194
204
String requestedExtension = response .getFieldValue ( "Sec-WebSocket-Extensions" );
195
205
for ( IExtension knownExtension : knownExtensions ) {
196
206
if ( knownExtension .acceptProvidedExtensionAsClient ( requestedExtension ) ) {
197
207
extension = knownExtension ;
198
208
extensionState = HandshakeState .MATCHED ;
209
+ logDebug ("acceptHandshakeAsClient - Matching extension found: " + extension .toString ());
199
210
break ;
200
211
}
201
212
}
@@ -205,12 +216,14 @@ public HandshakeState acceptHandshakeAsClient( ClientHandshake request, ServerHa
205
216
if ( knownProtocol .acceptProvidedProtocol ( requestedProtocol ) ) {
206
217
protocol = knownProtocol ;
207
218
protocolState = HandshakeState .MATCHED ;
219
+ logDebug ("acceptHandshakeAsClient - Matching protocol found: " + protocol .toString ());
208
220
break ;
209
221
}
210
222
}
211
223
if (protocolState == HandshakeState .MATCHED && extensionState == HandshakeState .MATCHED ) {
212
224
return HandshakeState .MATCHED ;
213
225
}
226
+ logDebug ("acceptHandshakeAsClient - No matching extension or protocol found." );
214
227
return HandshakeState .NOT_MATCHED ;
215
228
}
216
229
@@ -761,4 +774,10 @@ private ByteBuffer getPayloadFromByteBufferList() throws LimitExedeedException {
761
774
resultingByteBuffer .flip ();
762
775
return resultingByteBuffer ;
763
776
}
777
+
778
+ private static void logDebug (Object object ) {
779
+ if (WebSocketImpl .DEBUG ) {
780
+ System .out .println (object );
781
+ }
782
+ }
764
783
}
0 commit comments