diff --git a/ChangeLog b/ChangeLog index 32e60ff..93810b0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Thu Jul 02 13:25:00 2004 Richard Frith-Macdonald + + * WebServer.m: Fix error response when an exception occurs. + Thu Jul 01 18:00:00 2004 Richard Frith-Macdonald * WebServer.m: Make ([setPort:secure:]) return a status. diff --git a/WebServer.m b/WebServer.m index bbffa68..855e6be 100644 --- a/WebServer.m +++ b/WebServer.m @@ -1065,7 +1065,7 @@ unescapeData(const unsigned char* bytes, unsigned length, unsigned char *buf) { [self _alert: @"Exception %@, processing %@", localException, request]; [response setHeader: @"http" - value: @"500 Internal Server Error" + value: @"HTTP/1.0 500 Internal Server Error" parameters: nil]; } NS_ENDHANDLER @@ -1133,7 +1133,14 @@ unescapeData(const unsigned char* bytes, unsigned length, unsigned char *buf) { [out appendData: [hdr rawMimeData]]; } - [out appendData: raw]; + if ([raw length] > 0) + { + [out appendData: raw]; + } + else + { + [out appendBytes: "\r\n" length: 2]; // Terminate headers + } if (_verbose == YES) NSLog(@"Response %@ - %@", session, out); [[session handle] writeInBackgroundAndNotify: out]; }