--- parser3/src/targets/isapi/parser3isapi.C 2024/11/10 12:57:17 1.132 +++ parser3/src/targets/isapi/parser3isapi.C 2026/04/25 13:38:46 1.136 @@ -1,11 +1,11 @@ /** @file Parser: IIS extension. - Copyright (c) 2000-2024 Art. Lebedev Studio (http://www.artlebedev.com) + Copyright (c) 2000-2026 Art. Lebedev Studio (https://www.artlebedev.com) Authors: Konstantin Morshnev , Alexandr Petrosian */ -volatile const char * IDENT_PARSER3ISAPI_C="$Id: parser3isapi.C,v 1.132 2024/11/10 12:57:17 moko Exp $"; +volatile const char * IDENT_PARSER3ISAPI_C="$Id: parser3isapi.C,v 1.136 2026/04/25 13:38:46 moko Exp $"; #ifndef _MSC_VER # error compile ISAPI module with MSVC [no urge for now to make it autoconf-ed (PAF)] @@ -56,6 +56,8 @@ const int IIS51var_count=sizeof(IIS51var // globals char argv0[MAX_STRING]=""; +const char* parser3_mode="isapi"; // $status:mode +const char *parser3_log_filespec(){ return ""; } // $status:log-filename // SAPI @@ -99,12 +101,12 @@ void SAPI::die(const char* fmt, ...) { // va_end(args); } -void SAPI::send_error(SAPI_Info& info, const char *exception_cstr, const char *status){ +void SAPI::send_error(SAPI_Info& SAPI_info, const char *exception_cstr, const char *status){ // capitalized headers passed for preventing malloc during capitalization - add_header_attribute(info, HTTP_STATUS_CAPITALIZED, status); - add_header_attribute(info, HTTP_CONTENT_TYPE_CAPITALIZED, "text/plain"); - send_headers(info); - send_body(info, exception_cstr, strlen(exception_cstr)); + add_header_attribute(SAPI_info, HTTP_STATUS_CAPITALIZED, status); + add_header_attribute(SAPI_info, HTTP_CONTENT_TYPE_CAPITALIZED, "text/plain"); + send_headers(SAPI_info); + send_body(SAPI_info, exception_cstr, strlen(exception_cstr)); } char* SAPI::Env::get(SAPI_Info& SAPI_info, const char* name) { @@ -246,8 +248,8 @@ void SAPI::send_headers(SAPI_Info& SAPI_ HSE_REQ_SEND_RESPONSE_HEADER_EX, &header_info, NULL, NULL); } -void SAPI::clear_headers(SAPI_Info& info) { - SAPI_info.header.clear(); +void SAPI::clear_headers(SAPI_Info& SAPI_info) { + SAPI_info.header=new String; } size_t SAPI::send_body(SAPI_Info& SAPI_info, const void *buf, size_t size) {