--- parser3/src/targets/isapi/parser3isapi.C 2002/03/05 07:48:07 1.65 +++ parser3/src/targets/isapi/parser3isapi.C 2002/04/09 16:27:27 1.68 @@ -4,7 +4,7 @@ Copyright (c) 2000,2001, 2002 ArtLebedev Group (http://www.artlebedev.com) Author: Alexandr Petrosian (http://paf.design.ru) - $Id: parser3isapi.C,v 1.65 2002/03/05 07:48:07 paf Exp $ + $Id: parser3isapi.C,v 1.68 2002/04/09 16:27:27 paf Exp $ */ #ifndef _MSC_VER @@ -189,6 +189,7 @@ void SAPI::send_header(Pool& pool) { break; } header_info.cchStatus=strlen(header_info.pszStatus); + *ctx.header << "\r\n"; // ISAPI v<5 did quite well without it header_info.pszHeader=ctx.header->cstr(); header_info.cchHeader=ctx.header->size(); header_info.fKeepConn=true; @@ -282,7 +283,7 @@ void real_parser_handler(Pool& pool, LPE strncpy(buf, filespec_to_process, len); buf[len]=0; request_info.document_root=buf; } else - throw Exception(0, 0, + throw Exception("parser.runtime", 0, "ISAPI: no PATH_INFO defined (in reinventing DOCUMENT_ROOT)"); @@ -339,8 +340,8 @@ void real_parser_handler(Pool& pool, LPE // process the request request.core( - root_config_filespec, false /*don't fail_on_read_problem*/, // /path/to/admin/parser3.conf - site_config_filespec, false /*don't fail_on_read_problem*/, // /path/to/site/parser3.conf + root_config_filespec, false /*fail_on_read_problem*/, // /path/to/root/parser3.conf + site_config_filespec, false /*fail_on_read_problem*/, // /path/to/site/parser3.conf header_only); } @@ -360,13 +361,13 @@ void call_real_parser_handler__do_SEH(Po if(system_exception) if(_EXCEPTION_RECORD *er=system_exception->ExceptionRecord) - throw Exception(0, 0, + throw Exception(0, 0, "Exception 0x%08X at 0x%08X", er->ExceptionCode, er->ExceptionAddress); else - throw Exception(0, 0, 0, "Exception "); + throw Exception(0, 0, "Exception "); else - throw Exception(0, 0, 0, "Exception "); + throw Exception(0, 0, "Exception "); } #endif } @@ -455,6 +456,7 @@ DWORD WINAPI HttpExtensionProc(LPEXTENSI lpECB->WriteClient(lpECB->ConnID, (void *)body, &num_bytes, HSE_IO_SYNC); */ + return HSE_STATUS_SUCCESS_AND_KEEP_CONN; }