Diff for /parser3/src/classes/curl.C between versions 1.77 and 1.79

version 1.77, 2025/05/26 01:56:54 version 1.79, 2026/07/13 21:42:16
Line 1 Line 1
 /** @file  /** @file
         Parser: @b curl parser class.          Parser: @b curl parser class.
   
         Copyright (c) 2001-2024 Art. Lebedev Studio (http://www.artlebedev.com)          Copyright (c) 2001-2026 Art. Lebedev Studio (https://www.artlebedev.com)
         Authors: Konstantin Morshnev <moko@design.ru>          Authors: Konstantin Morshnev <moko@design.ru>
 */  */
   
Line 739  static void _curl_load_action(Request& r Line 739  static void _curl_load_action(Request& r
         CURL_SETOPT(CURLOPT_WRITEFUNCTION, curl_writer, "curl writer function");          CURL_SETOPT(CURLOPT_WRITEFUNCTION, curl_writer, "curl writer function");
         CURL_SETOPT(CURLOPT_WRITEDATA, &body, "curl write buffer");          CURL_SETOPT(CURLOPT_WRITEDATA, &body, "curl write buffer");
   
           char error[CURL_ERROR_SIZE+1]="";
           CURL_SETOPT(CURLOPT_ERRORBUFFER, error, "curl error buffer");
   
         if(options().is_post && !options().has_content_length){          if(options().is_post && !options().has_content_length){
                 // libcurl bug walkaround. Prior to 7.38 (Debian Jessie) curl passed Content-length: -1                  // libcurl bug walkaround. Prior to 7.38 (Debian Jessie) curl passed Content-length: -1
                 // after that no Content-length header is passed, that hangs request to nginx.                  // after that no Content-length header is passed, that hangs request to nginx.
Line 767  static void _curl_load_action(Request& r Line 770  static void _curl_load_action(Request& r
                                 check_file_size(response.content_length, new String(options().url)); break;                                  check_file_size(response.content_length, new String(options().url)); break;
                         default: break;                          default: break;
                 }                  }
                 throw Exception( PA_DEFAULT(ex_type, "curl.fail"), new String(options().url), "%s", f_curl_easy_strerror(res));                  throw Exception( PA_DEFAULT(ex_type, "curl.fail"), new String(options().url), "%s", error[0] ? error : f_curl_easy_strerror(res));
         }          }
   
         // assure trailing zero          // assure trailing zero

Removed from v.1.77  
changed lines
  Added in v.1.79


E-mail: