Diff for /parser3/src/main/pa_http.C between versions 1.41 and 1.44

version 1.41, 2009/09/10 09:44:07 version 1.44, 2009/10/15 01:07:54
Line 324  static void http_pass_header(HashStringV Line 324  static void http_pass_header(HashStringV
   
         const char* name_cstr=aname.cstr();          const char* name_cstr=aname.cstr();
   
         String name=String(capitalize(name_cstr), String::L_URI);  
   
         if(strcasecmp(name_cstr, HTTP_CONTENT_LENGTH)==0)          if(strcasecmp(name_cstr, HTTP_CONTENT_LENGTH)==0)
                 return;                  return;
   
         String value=attributed_meaning_to_string(*avalue, String::L_URI, false);          String name=String(capitalize(name_cstr), String::L_URI);
           String value=attributed_meaning_to_string(*avalue, String::L_URI, true);
   
         *info->request << name << ": " << value << CRLF;          *info->request << name << ": " << value << CRLF;
                   
Line 406  static void form_value2string( Line 405  static void form_value2string(
 const char* pa_form2string(HashStringValue& form, Request_charsets& charsets) {  const char* pa_form2string(HashStringValue& form, Request_charsets& charsets) {
         String string;          String string;
         form.for_each<String*>(form_value2string, &string);          form.for_each<String*>(form_value2string, &string);
         return string.transcode_and_untaint_cstr(String::L_URI, &charsets);          return string.untaint_and_transcode_cstr(String::L_URI, &charsets);
 }  }
   
 struct FormPart {  struct FormPart {
Line 619  File_read_http_result pa_internal_file_r Line 618  File_read_http_result pa_internal_file_r
                 // influence URLencoding of tainted pieces to String::L_URI lang                  // influence URLencoding of tainted pieces to String::L_URI lang
                 Temp_client_charset temp(r.charsets, *asked_remote_charset);                  Temp_client_charset temp(r.charsets, *asked_remote_charset);
   
                 const char* connect_string_cstr=connect_string.transcode_and_untaint_cstr(String::L_URI, &(r.charsets));                  const char* connect_string_cstr=connect_string.untaint_and_transcode_cstr(String::L_URI, &(r.charsets));
   
                 const char* current=connect_string_cstr;                  const char* current=connect_string_cstr;
                 if(strncmp(current, "http://", 7)!=0)                  if(strncmp(current, "http://", 7)!=0)
Line 695  File_read_http_result pa_internal_file_r Line 694  File_read_http_result pa_internal_file_r
                         // $.body was specified                          // $.body was specified
                         if(content_type_url_encoded){                          if(content_type_url_encoded){
                                 // transcode + url-encode                                  // transcode + url-encode
                                 body_cstr=vbody->as_string().transcode_and_untaint_cstr(String::L_URI, &(r.charsets));                                  body_cstr=vbody->as_string().untaint_and_transcode_cstr(String::L_URI, &(r.charsets));
                         } else {                          } else {
                                 // content-type != application/x-www-form-urlencoded -> transcode only, don't url-encode!                                  // content-type != application/x-www-form-urlencoded -> transcode only, don't url-encode!
                                 body_cstr=Charset::transcode(                                  body_cstr=Charset::transcode(
Line 730  File_read_http_result pa_internal_file_r Line 729  File_read_http_result pa_internal_file_r
                         } else                          } else
                                 throw Exception(PARSER_RUNTIME,                                   throw Exception(PARSER_RUNTIME, 
                                         0,                                          0,
                                         "cookies param must be hash");                                           "cookies param must be hash");
                 }                  }
   
                 if(body_cstr)                  if(body_cstr)
                         head << "Content-Length: " << format(post_size, "%u") << CRLF;                          head << "Content-Length: " << format(post_size, "%u") << CRLF;
   
                 // head + end of header                  // head + end of header
                 request_head_and_body << head.transcode_and_untaint_cstr(String::L_URI, &(r.charsets)) << CRLF;                  request_head_and_body << head.untaint_and_transcode_cstr(String::L_URI, &(r.charsets)) << CRLF;
   
                 // body                  // body
                 if(body_cstr)                  if(body_cstr)

Removed from v.1.41  
changed lines
  Added in v.1.44


E-mail: