|
|
| 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) |