Skip to content

Commit 4c101aa

Browse files
committed
fix timeout not reading from post body (ydb-platform#11975)
1 parent 4bec8d3 commit 4c101aa

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
@@ -227,7 +227,7 @@ void InitViewerWhoAmIJsonHandler(TJsonHandlers& handlers) {
227227
}
228228

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

233233
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;
@@ -64,7 +64,7 @@ class TJsonQuery : public TViewerPipeClient {
6464
void ParseCgiParameters(const TCgiParameters& params) {
6565
JsonSettings.EnumAsNumbers = !FromStringWithDefault<bool>(params.Get("enums"), false);
6666
JsonSettings.UI64AsString = !FromStringWithDefault<bool>(params.Get("ui64"), false);
67-
Timeout = FromStringWithDefault<ui32>(params.Get("timeout"), 60000);
67+
Timeout = FromStringWithDefault<ui32>(params.Get("timeout"), Timeout);
6868
if (params.Has("query")) {
6969
Query = params.Get("query");
7070
}
@@ -103,6 +103,12 @@ class TJsonQuery : public TViewerPipeClient {
103103
NJson::TJsonValue requestData;
104104
bool success = NJson::ReadJsonTree(content, &JsonConfig, &requestData);
105105
if (success) {
106+
if (requestData.Has("timeout")) {
107+
Timeout = requestData["timeout"].GetUIntegerRobust();
108+
if (Timeout == 0) {
109+
return false;
110+
}
111+
}
106112
if (requestData.Has("query")) {
107113
Query = requestData["query"].GetStringRobust();
108114
}

0 commit comments

Comments
 (0)