@@ -20,7 +20,7 @@ class TJsonQuery : public TViewerPipeClient {
20
20
using TThis = TJsonQuery;
21
21
using TBase = TViewerPipeClient;
22
22
TJsonSettings JsonSettings;
23
- ui32 Timeout = 0 ;
23
+ ui32 Timeout = 60000 ;
24
24
std::vector<std::vector<Ydb::ResultSet>> ResultSets;
25
25
TString Query;
26
26
TString Action;
@@ -65,7 +65,7 @@ class TJsonQuery : public TViewerPipeClient {
65
65
void ParseCgiParameters (const TCgiParameters& params) {
66
66
JsonSettings.EnumAsNumbers = !FromStringWithDefault<bool >(params.Get (" enums" ), false );
67
67
JsonSettings.UI64AsString = !FromStringWithDefault<bool >(params.Get (" ui64" ), false );
68
- Timeout = FromStringWithDefault<ui32>(params.Get (" timeout" ), 60000 );
68
+ Timeout = FromStringWithDefault<ui32>(params.Get (" timeout" ), Timeout );
69
69
if (params.Has (" query" )) {
70
70
Query = params.Get (" query" );
71
71
}
@@ -107,6 +107,12 @@ class TJsonQuery : public TViewerPipeClient {
107
107
NJson::TJsonValue requestData;
108
108
bool success = NJson::ReadJsonTree (content, &JsonConfig, &requestData);
109
109
if (success) {
110
+ if (requestData.Has (" timeout" )) {
111
+ Timeout = requestData[" timeout" ].GetUIntegerRobust ();
112
+ if (Timeout == 0 ) {
113
+ return false ;
114
+ }
115
+ }
110
116
if (requestData.Has (" query" )) {
111
117
Query = requestData[" query" ].GetStringRobust ();
112
118
}
0 commit comments