@@ -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;
@@ -64,7 +64,7 @@ class TJsonQuery : public TViewerPipeClient {
64
64
void ParseCgiParameters (const TCgiParameters& params) {
65
65
JsonSettings.EnumAsNumbers = !FromStringWithDefault<bool >(params.Get (" enums" ), false );
66
66
JsonSettings.UI64AsString = !FromStringWithDefault<bool >(params.Get (" ui64" ), false );
67
- Timeout = FromStringWithDefault<ui32>(params.Get (" timeout" ), 60000 );
67
+ Timeout = FromStringWithDefault<ui32>(params.Get (" timeout" ), Timeout );
68
68
if (params.Has (" query" )) {
69
69
Query = params.Get (" query" );
70
70
}
@@ -103,6 +103,12 @@ class TJsonQuery : public TViewerPipeClient {
103
103
NJson::TJsonValue requestData;
104
104
bool success = NJson::ReadJsonTree (content, &JsonConfig, &requestData);
105
105
if (success) {
106
+ if (requestData.Has (" timeout" )) {
107
+ Timeout = requestData[" timeout" ].GetUIntegerRobust ();
108
+ if (Timeout == 0 ) {
109
+ return false ;
110
+ }
111
+ }
106
112
if (requestData.Has (" query" )) {
107
113
Query = requestData[" query" ].GetStringRobust ();
108
114
}
0 commit comments