@@ -601,7 +601,16 @@ void TViewerPipeClient::InitConfig(const TCgiParameters& params) {
601601 }
602602 Direct = FromStringWithDefault<bool >(params.Get (" direct" ), Direct);
603603 JsonSettings.EnumAsNumbers = !FromStringWithDefault<bool >(params.Get (" enums" ), true );
604- JsonSettings.UI64AsString = !FromStringWithDefault<bool >(params.Get (" ui64" ), true );
604+ JsonSettings.UI64AsString = !FromStringWithDefault<bool >(params.Get (" ui64" ), false );
605+ if (FromStringWithDefault<bool >(params.Get (" enums" ), true )) {
606+ Proto2JsonConfig.EnumMode = TProto2JsonConfig::EnumValueMode::EnumName;
607+ }
608+ if (!FromStringWithDefault<bool >(params.Get (" ui64" ), false )) {
609+ Proto2JsonConfig.StringifyNumbers = TProto2JsonConfig::EStringifyNumbersMode::StringifyInt64Always;
610+ }
611+ Proto2JsonConfig.MapAsObject = true ;
612+ Proto2JsonConfig.ConvertAny = true ;
613+ Proto2JsonConfig.WriteNanAsString = true ;
605614 Timeout = TDuration::MilliSeconds (FromStringWithDefault<ui32>(params.Get (" timeout" ), Timeout.MilliSeconds ()));
606615}
607616
@@ -661,7 +670,7 @@ TString TViewerPipeClient::GetHTTPOKJSON(const NJson::TJsonValue& response, TIns
661670
662671TString TViewerPipeClient::GetHTTPOKJSON (const google::protobuf::Message& response, TInstant lastModified) {
663672 TStringStream json;
664- TProtoToJson::ProtoToJson (json, response, JsonSettings );
673+ NProtobufJson::Proto2Json (response, json, Proto2JsonConfig );
665674 return GetHTTPOKJSON (json.Str (), lastModified);
666675}
667676
0 commit comments