--- parser3/src/classes/json.C 2016/09/21 15:35:10 1.44 +++ parser3/src/classes/json.C 2016/11/01 23:10:40 1.48 @@ -18,7 +18,7 @@ #include "pa_vxdoc.h" #endif -volatile const char * IDENT_JSON_C="$Id: json.C,v 1.44 2016/09/21 15:35:10 moko Exp $"; +volatile const char * IDENT_JSON_C="$Id: json.C,v 1.48 2016/11/01 23:10:40 moko Exp $"; // class @@ -107,7 +107,7 @@ static Value *json_hook(Request &r, Junc frame.store_params(params, 2); r.execute_method(frame); - return &frame.result().as_value(); + return &frame.result(); } static int json_callback(Json *json, int type, const char *value, uint32_t length) @@ -297,15 +297,15 @@ static void _parse(Request& r, MethodPar if(HashStringValue* options=params.as_hash(1)) { int valid_options=0; if(Value* value=options->get("depth")) { - config.max_nesting=r.process_to_value(*value).as_int(); + config.max_nesting=r.process(*value).as_int(); valid_options++; } if(Value* value=options->get("double")) { - json.handle_double=r.process_to_value(*value).as_bool(); + json.handle_double=r.process(*value).as_bool(); valid_options++; } if(Value* value=options->get("int")) { - json.handle_int=r.process_to_value(*value).as_bool(); + json.handle_int=r.process(*value).as_bool(); valid_options++; } if(Value* value=options->get("distinct")) { @@ -359,7 +359,7 @@ static void _parse(Request& r, MethodPar json_parser_free(&parser); - if (json.result) r.write_no_lang(*json.result); + if (json.result) r.write(*json.result); } const uint ANTI_ENDLESS_JSON_STRING_RECOURSION=128; @@ -464,7 +464,7 @@ static void _string(Request& r, MethodPa if(params.count() == 2) if(HashStringValue* options=params.as_hash(1)) { - json.params=params.get(1); + json.params=¶ms[1]; HashStringValue* methods=new HashStringValue(); int valid_options=0; HashStringValue* vvalue; @@ -472,7 +472,7 @@ static void _string(Request& r, MethodPa String::Body key=i.key(); Value* value=i.value(); if(key == "skip-unknown"){ - json.skip_unknown=r.process_to_value(*value).as_bool(); + json.skip_unknown=r.process(*value).as_bool(); valid_options++; } else if(key == "date" && value->is_string()){ const String& svalue=value->as_string(); @@ -483,7 +483,7 @@ static void _string(Request& r, MethodPa if(value->is_string()){ json.indent=value->as_string().cstr(); json.json_string_recoursion=strlen(json.indent); - } else json.indent=r.process_to_value(*value).as_bool() ? "" : NULL; + } else json.indent=r.process(*value).as_bool() ? "" : NULL; valid_options++; } else if(key == "table" && value->is_string()){ const String& svalue=value->as_string(); @@ -532,9 +532,9 @@ static void _string(Request& r, MethodPa json.methods=methods; } - const String& result_string=value_json_string(String::Body(), r.process_to_value(params[0]), json); + const String& result_string=value_json_string(String::Body(), r.process(params[0]), json); 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)); + r.write(*new String(result_body, String::L_AS_IS)); } // constructor