diff --git a/ChangeLog b/ChangeLog index d2b39ed..ee82f24 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Thy Jul 15 09:40:00 2004 Richard Frith-Macdonald + + * WebServer.m: ([_didRead:]) more informative logging upon reading + an unexpected end-of-file + Wed Jul 14 12:07:00 2004 Richard Frith-Macdonald * configure.ac: Check for PQfformat in libpq, if it is not there diff --git a/WebServer.m b/WebServer.m index e60c978..fd9efe7 100644 --- a/WebServer.m +++ b/WebServer.m @@ -807,18 +807,37 @@ unescapeData(const unsigned char* bytes, unsigned length, unsigned char *buf) session = (WebServerSession*)NSMapGet(_sessions, (void*)hdl); NSAssert(session != nil, NSInternalInconsistencyException); + parser = [session parser]; d = [dict objectForKey: NSFileHandleNotificationDataItem]; if ([d length] == 0) { + if (parser == nil) + { + NSMutableData *buffer = [session buffer]; + + if ([buffer length] == 0) + { + [self _alert: @"%@ read end-of-file in empty request", session]; + } + else + { + [self _alert: @"%@ read end-of-file in partial request - %@", + session, buffer]; + } + } + else + { + [self _alert: @"%@ read end-of-file in incomplete request - %@", + session, [parser mimeDocument]]; + } [self _alert: @"%@ read end-of-file in request", session]; [self _endSession: session]; return; } // NSLog(@"Data read on %@ ... %@", session, d); - parser = [session parser]; if (parser == nil) { unsigned char *bytes;