--- parser3/src/classes/json.C 2013/08/21 12:11:13 1.26 +++ parser3/src/classes/json.C 2013/10/29 13:29:24 1.29 @@ -12,13 +12,13 @@ #include "pa_charset.h" #include "pa_charsets.h" -#include "json.h" +#include "pa_json.h" #ifdef XML #include "pa_vxdoc.h" #endif -volatile const char * IDENT_JSON_C="$Id: json.C,v 1.26 2013/08/21 12:11:13 moko Exp $"; +volatile const char * IDENT_JSON_C="$Id: json.C,v 1.29 2013/10/29 13:29:24 moko Exp $"; // class @@ -264,7 +264,7 @@ static void _parse(Request& r, MethodPar throw Exception(PARSER_RUNTIME, 0, CALLED_WITH_INVALID_OPTION); } - const String::Body json_body = json_string.cstr_to_string_body_untaint(String::L_JSON, 0, &(r.charsets)); + const String::Body json_body = json_string.cstr_to_string_body_untaint(String::L_JSON, r.connection(false), &r.charsets); const char *json_cstr = json.charset != NULL ? Charset::transcode(json_body, *json.charset, UTF8_charset).cstr() : json_body.cstr(); json_parser parser; @@ -365,7 +365,7 @@ const String& value_json_string(String:: VMethodFrame frame(*junction->method, options.r->method_frame, junction->self); HashStringValue* params_hash=options.params && options.indent ? options.params->get_hash() : NULL; - Temp_hash_value indent(params_hash, "indent", new VString(*new String(options.indent))); + Temp_hash_value indent(params_hash, "indent", new VString(*new String(options.indent, String::L_AS_IS))); Value *params[]={new VString(*new String(key, String::L_JSON)), &v, options.params ? options.params : VVoid::get()}; frame.store_params(params, 3); @@ -447,7 +447,7 @@ static void _string(Request& r, MethodPa } const String& result_string=value_json_string(String::Body(), params[0], json); - String::Body result_body=result_string.cstr_to_string_body_untaint(String::L_JSON, 0, &r.charsets); + String::Body result_body=result_string.cstr_to_string_body_untaint(String::L_JSON, r.connection(false), &r.charsets); r.write_pass_lang(*new String(result_body, String::L_AS_IS)); }