diff --git a/ydb/core/viewer/json_query.h b/ydb/core/viewer/json_query.h index 70ee72849501..5ff21f9782d0 100644 --- a/ydb/core/viewer/json_query.h +++ b/ydb/core/viewer/json_query.h @@ -1,6 +1,5 @@ #pragma once #include "viewer.h" -#include #include #include #include @@ -12,7 +11,6 @@ #include #include #include -//#include #include #include #include "json_pipe_req.h" @@ -102,17 +100,8 @@ class TJsonQuery : public TViewerPipeClient { } } - bool IsPostContent() { - if (Event->Get()->Request.GetMethod() == HTTP_METHOD_POST) { - const THttpHeaders& headers = Event->Get()->Request.GetHeaders(); - auto itContentType = FindIf(headers, [](const auto& header) { return header.Name() == "Content-Type"; }); - if (itContentType != headers.end()) { - TStringBuf contentTypeHeader = itContentType->Value(); - TStringBuf contentType = contentTypeHeader.NextTok(';'); - return contentType == "application/json"; - } - } - return false; + bool IsPostContent() const { + return NViewer::IsPostContent(Event); } TJsonQuery(IViewer* viewer, NMon::TEvHttpInfo::TPtr& ev) diff --git a/ydb/core/viewer/viewer_request.cpp b/ydb/core/viewer/viewer_request.cpp index ef8892d78777..ee4ebb7054e1 100644 --- a/ydb/core/viewer/viewer_request.cpp +++ b/ydb/core/viewer/viewer_request.cpp @@ -83,5 +83,22 @@ IActor* CreateViewerRequestHandler(TEvViewer::TEvViewerRequest::TPtr& request) { return nullptr; } +bool IsPostContent(const NMon::TEvHttpInfo::TPtr& event) { + if (event->Get()->Request.GetMethod() == HTTP_METHOD_POST) { + const THttpHeaders& headers = event->Get()->Request.GetHeaders(); + + auto itContentType = FindIf(headers, [](const auto& header) { + return AsciiEqualsIgnoreCase(header.Name(), "Content-Type"); + }); + + if (itContentType != headers.end()) { + TStringBuf contentTypeHeader = itContentType->Value(); + TStringBuf contentType = contentTypeHeader.NextTok(';'); + return contentType == "application/json"; + } + } + return false; +} + } } diff --git a/ydb/core/viewer/viewer_request.h b/ydb/core/viewer/viewer_request.h index b8b9f0f74767..6516dbb59d18 100644 --- a/ydb/core/viewer/viewer_request.h +++ b/ydb/core/viewer/viewer_request.h @@ -38,6 +38,7 @@ union ViewerWhiteboardCookie { }; IActor* CreateViewerRequestHandler(TEvViewer::TEvViewerRequest::TPtr& request); +bool IsPostContent(const NMon::TEvHttpInfo::TPtr& event); } }