Skip to content

Commit 4fb4bbc

Browse files
authored
fix timeout not reading from post body (#11975)
1 parent aaf710c commit 4fb4bbc

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

ydb/core/viewer/json_handlers_viewer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ void InitViewerWhoAmIJsonHandler(TJsonHandlers& handlers) {
228228
}
229229

230230
void InitViewerQueryJsonHandler(TJsonHandlers& handlers) {
231-
handlers.AddHandler("/viewer/query", new TJsonHandler<TJsonQuery>(TJsonQuery::GetSwagger()), 4);
231+
handlers.AddHandler("/viewer/query", new TJsonHandler<TJsonQuery>(TJsonQuery::GetSwagger()), 5);
232232
}
233233

234234
void InitViewerNetInfoJsonHandler(TJsonHandlers& handlers) {

ydb/core/viewer/viewer_query.h

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class TJsonQuery : public TViewerPipeClient {
2020
using TThis = TJsonQuery;
2121
using TBase = TViewerPipeClient;
2222
TJsonSettings JsonSettings;
23-
ui32 Timeout = 0;
23+
ui32 Timeout = 60000;
2424
std::vector<std::vector<Ydb::ResultSet>> ResultSets;
2525
TString Query;
2626
TString Action;
@@ -65,7 +65,7 @@ class TJsonQuery : public TViewerPipeClient {
6565
void ParseCgiParameters(const TCgiParameters& params) {
6666
JsonSettings.EnumAsNumbers = !FromStringWithDefault<bool>(params.Get("enums"), false);
6767
JsonSettings.UI64AsString = !FromStringWithDefault<bool>(params.Get("ui64"), false);
68-
Timeout = FromStringWithDefault<ui32>(params.Get("timeout"), 60000);
68+
Timeout = FromStringWithDefault<ui32>(params.Get("timeout"), Timeout);
6969
if (params.Has("query")) {
7070
Query = params.Get("query");
7171
}
@@ -107,6 +107,12 @@ class TJsonQuery : public TViewerPipeClient {
107107
NJson::TJsonValue requestData;
108108
bool success = NJson::ReadJsonTree(content, &JsonConfig, &requestData);
109109
if (success) {
110+
if (requestData.Has("timeout")) {
111+
Timeout = requestData["timeout"].GetUIntegerRobust();
112+
if (Timeout == 0) {
113+
return false;
114+
}
115+
}
110116
if (requestData.Has("query")) {
111117
Query = requestData["query"].GetStringRobust();
112118
}

0 commit comments

Comments
 (0)