Remove extra parameters from HTTP handler signature

These parameters are no longer needed since they were only used
by EventsHandler which was refactored in the other commit.
This commit is contained in:
Johannes Schmidt 2025-06-17 11:14:18 +02:00
parent 5ff416f725
commit 749a4b0c89
36 changed files with 39 additions and 138 deletions

View File

@ -17,11 +17,9 @@ REGISTER_URLHANDLER("/v1/actions", ActionsHandler);
bool ActionsHandler::HandleRequest( bool ActionsHandler::HandleRequest(
const WaitGroup::Ptr& waitGroup, const WaitGroup::Ptr& waitGroup,
AsioTlsStream& stream,
HttpRequest& request, HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context& yc, boost::asio::yield_context& yc
HttpServerConnection& server
) )
{ {
namespace http = boost::beast::http; namespace http = boost::beast::http;

View File

@ -17,11 +17,9 @@ public:
bool HandleRequest( bool HandleRequest(
const WaitGroup::Ptr& waitGroup, const WaitGroup::Ptr& waitGroup,
AsioTlsStream& stream,
HttpRequest& request, HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context& yc, boost::asio::yield_context& yc
HttpServerConnection& server
) override; ) override;
}; };

View File

@ -15,11 +15,9 @@ REGISTER_URLHANDLER("/v1/config/files", ConfigFilesHandler);
bool ConfigFilesHandler::HandleRequest( bool ConfigFilesHandler::HandleRequest(
const WaitGroup::Ptr&, const WaitGroup::Ptr&,
AsioTlsStream& stream,
HttpRequest& request, HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context& yc, boost::asio::yield_context& yc
HttpServerConnection& server
) )
{ {
namespace http = boost::beast::http; namespace http = boost::beast::http;

View File

@ -15,11 +15,9 @@ public:
bool HandleRequest( bool HandleRequest(
const WaitGroup::Ptr& waitGroup, const WaitGroup::Ptr& waitGroup,
AsioTlsStream& stream,
HttpRequest& request, HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context& yc, boost::asio::yield_context& yc
HttpServerConnection& server
) override; ) override;
}; };

View File

@ -12,11 +12,9 @@ REGISTER_URLHANDLER("/v1/config/packages", ConfigPackagesHandler);
bool ConfigPackagesHandler::HandleRequest( bool ConfigPackagesHandler::HandleRequest(
const WaitGroup::Ptr&, const WaitGroup::Ptr&,
AsioTlsStream& stream,
HttpRequest& request, HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context& yc, boost::asio::yield_context& yc
HttpServerConnection& server
) )
{ {
namespace http = boost::beast::http; namespace http = boost::beast::http;

View File

@ -15,11 +15,9 @@ public:
bool HandleRequest( bool HandleRequest(
const WaitGroup::Ptr& waitGroup, const WaitGroup::Ptr& waitGroup,
AsioTlsStream& stream,
HttpRequest& request, HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context& yc, boost::asio::yield_context& yc
HttpServerConnection& server
) override; ) override;
private: private:

View File

@ -16,11 +16,9 @@ std::atomic<bool> ConfigStagesHandler::m_RunningPackageUpdates (false);
bool ConfigStagesHandler::HandleRequest( bool ConfigStagesHandler::HandleRequest(
const WaitGroup::Ptr&, const WaitGroup::Ptr&,
AsioTlsStream& stream,
HttpRequest& request, HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context& yc, boost::asio::yield_context& yc
HttpServerConnection& server
) )
{ {
namespace http = boost::beast::http; namespace http = boost::beast::http;

View File

@ -16,11 +16,9 @@ public:
bool HandleRequest( bool HandleRequest(
const WaitGroup::Ptr& waitGroup, const WaitGroup::Ptr& waitGroup,
AsioTlsStream& stream,
HttpRequest& request, HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context& yc, boost::asio::yield_context& yc
HttpServerConnection& server
) override; ) override;
private: private:

View File

@ -55,11 +55,9 @@ static void EnsureFrameCleanupTimer()
bool ConsoleHandler::HandleRequest( bool ConsoleHandler::HandleRequest(
const WaitGroup::Ptr&, const WaitGroup::Ptr&,
AsioTlsStream& stream,
HttpRequest& request, HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context& yc, boost::asio::yield_context& yc
HttpServerConnection& server
) )
{ {
namespace http = boost::beast::http; namespace http = boost::beast::http;

View File

@ -24,11 +24,9 @@ public:
bool HandleRequest( bool HandleRequest(
const WaitGroup::Ptr& waitGroup, const WaitGroup::Ptr& waitGroup,
AsioTlsStream& stream,
HttpRequest& request, HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context& yc, boost::asio::yield_context& yc
HttpServerConnection& server
) override; ) override;
static std::vector<String> GetAutocompletionSuggestions(const String& word, ScriptFrame& frame); static std::vector<String> GetAutocompletionSuggestions(const String& word, ScriptFrame& frame);

View File

@ -17,11 +17,9 @@ REGISTER_URLHANDLER("/v1/objects", CreateObjectHandler);
bool CreateObjectHandler::HandleRequest( bool CreateObjectHandler::HandleRequest(
const WaitGroup::Ptr& waitGroup, const WaitGroup::Ptr& waitGroup,
AsioTlsStream& stream,
HttpRequest& request, HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context& yc, boost::asio::yield_context& yc
HttpServerConnection& server
) )
{ {
namespace http = boost::beast::http; namespace http = boost::beast::http;

View File

@ -15,11 +15,9 @@ public:
bool HandleRequest( bool HandleRequest(
const WaitGroup::Ptr& waitGroup, const WaitGroup::Ptr& waitGroup,
AsioTlsStream& stream,
HttpRequest& request, HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context& yc, boost::asio::yield_context& yc
HttpServerConnection& server
) override; ) override;
}; };

View File

@ -17,11 +17,9 @@ REGISTER_URLHANDLER("/v1/objects", DeleteObjectHandler);
bool DeleteObjectHandler::HandleRequest( bool DeleteObjectHandler::HandleRequest(
const WaitGroup::Ptr& waitGroup, const WaitGroup::Ptr& waitGroup,
AsioTlsStream& stream,
HttpRequest& request, HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context& yc, boost::asio::yield_context& yc
HttpServerConnection& server
) )
{ {
namespace http = boost::beast::http; namespace http = boost::beast::http;

View File

@ -15,11 +15,9 @@ public:
bool HandleRequest( bool HandleRequest(
const WaitGroup::Ptr& waitGroup, const WaitGroup::Ptr& waitGroup,
AsioTlsStream& stream,
HttpRequest& request, HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context& yc, boost::asio::yield_context& yc
HttpServerConnection& server
) override; ) override;
}; };

View File

@ -41,11 +41,9 @@ const String l_ApiQuery ("<API query>");
bool EventsHandler::HandleRequest( bool EventsHandler::HandleRequest(
const WaitGroup::Ptr&, const WaitGroup::Ptr&,
AsioTlsStream& stream,
HttpRequest& request, HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context& yc, boost::asio::yield_context& yc
HttpServerConnection& server
) )
{ {
namespace asio = boost::asio; namespace asio = boost::asio;

View File

@ -16,11 +16,9 @@ public:
bool HandleRequest( bool HandleRequest(
const WaitGroup::Ptr& waitGroup, const WaitGroup::Ptr& waitGroup,
AsioTlsStream& stream,
HttpRequest& request, HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context& yc, boost::asio::yield_context& yc
HttpServerConnection& server
) override; ) override;
}; };

View File

@ -48,11 +48,9 @@ void HttpHandler::Register(const Url::Ptr& url, const HttpHandler::Ptr& handler)
void HttpHandler::ProcessRequest( void HttpHandler::ProcessRequest(
const WaitGroup::Ptr& waitGroup, const WaitGroup::Ptr& waitGroup,
AsioTlsStream& stream,
HttpRequest& request, HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context& yc, boost::asio::yield_context& yc
HttpServerConnection& server
) )
{ {
Dictionary::Ptr node = m_UrlTree; Dictionary::Ptr node = m_UrlTree;
@ -105,7 +103,7 @@ void HttpHandler::ProcessRequest(
*/ */
try { try {
for (const HttpHandler::Ptr& handler : handlers) { for (const HttpHandler::Ptr& handler : handlers) {
if (handler->HandleRequest(waitGroup, stream, request, response, yc, server)) { if (handler->HandleRequest(waitGroup, request, response, yc)) {
processed = true; processed = true;
break; break;
} }

View File

@ -30,21 +30,17 @@ public:
virtual bool HandleRequest( virtual bool HandleRequest(
const WaitGroup::Ptr& waitGroup, const WaitGroup::Ptr& waitGroup,
AsioTlsStream& stream,
HttpRequest& request, HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context& yc, boost::asio::yield_context& yc
HttpServerConnection& server
) = 0; ) = 0;
static void Register(const Url::Ptr& url, const HttpHandler::Ptr& handler); static void Register(const Url::Ptr& url, const HttpHandler::Ptr& handler);
static void ProcessRequest( static void ProcessRequest(
const WaitGroup::Ptr& waitGroup, const WaitGroup::Ptr& waitGroup,
AsioTlsStream& stream,
HttpRequest& request, HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context& yc, boost::asio::yield_context& yc
HttpServerConnection& server
); );
private: private:

View File

@ -41,8 +41,7 @@ HttpServerConnection::HttpServerConnection(const WaitGroup::Ptr& waitGroup, cons
} }
HttpServerConnection::HttpServerConnection(const WaitGroup::Ptr& waitGroup, const String& identity, bool authenticated, const Shared<AsioTlsStream>::Ptr& stream, boost::asio::io_context& io) HttpServerConnection::HttpServerConnection(const WaitGroup::Ptr& waitGroup, const String& identity, bool authenticated, const Shared<AsioTlsStream>::Ptr& stream, boost::asio::io_context& io)
: m_WaitGroup(waitGroup), m_Stream(stream), m_Seen(Utility::GetTime()), m_IoStrand(io), m_ShuttingDown(false), m_HasStartedStreaming(false), : m_WaitGroup(waitGroup), m_Stream(stream), m_Seen(Utility::GetTime()), m_IoStrand(io), m_ShuttingDown(false), m_CheckLivenessTimer(io)
m_CheckLivenessTimer(io)
{ {
if (authenticated) { if (authenticated) {
m_ApiUser = ApiUser::GetByClientCN(identity); m_ApiUser = ApiUser::GetByClientCN(identity);
@ -100,29 +99,6 @@ void HttpServerConnection::Disconnect(boost::asio::yield_context yc)
} }
} }
void HttpServerConnection::StartStreaming()
{
namespace asio = boost::asio;
m_HasStartedStreaming = true;
HttpServerConnection::Ptr keepAlive (this);
IoEngine::SpawnCoroutine(m_IoStrand, [this, keepAlive](asio::yield_context yc) {
if (!m_ShuttingDown) {
char buf[128];
asio::mutable_buffer readBuf (buf, 128);
boost::system::error_code ec;
do {
m_Stream->async_read_some(readBuf, yc[ec]);
} while (!ec);
Disconnect(yc);
}
});
}
bool HttpServerConnection::Disconnected() bool HttpServerConnection::Disconnected()
{ {
return m_ShuttingDown; return m_ShuttingDown;
@ -388,11 +364,8 @@ bool EnsureValidBody(
static inline static inline
bool ProcessRequest( bool ProcessRequest(
AsioTlsStream& stream,
HttpRequest& request, HttpRequest& request,
HttpResponse& response, HttpResponse& response,
HttpServerConnection& server,
bool& hasStartedStreaming,
const WaitGroup::Ptr& waitGroup, const WaitGroup::Ptr& waitGroup,
std::chrono::steady_clock::duration& cpuBoundWorkTime, std::chrono::steady_clock::duration& cpuBoundWorkTime,
boost::asio::yield_context& yc boost::asio::yield_context& yc
@ -404,7 +377,7 @@ bool ProcessRequest(
CpuBoundWork handlingRequest (yc); CpuBoundWork handlingRequest (yc);
cpuBoundWorkTime = std::chrono::steady_clock::now() - start; cpuBoundWorkTime = std::chrono::steady_clock::now() - start;
HttpHandler::ProcessRequest(waitGroup, stream, request, response, yc, server); HttpHandler::ProcessRequest(waitGroup, request, response, yc);
} catch (const std::exception& ex) { } catch (const std::exception& ex) {
response.SendJsonError(request.Params(), 500, "Unhandled exception", DiagnosticInformation(ex)); response.SendJsonError(request.Params(), 500, "Unhandled exception", DiagnosticInformation(ex));
response.Write(yc); response.Write(yc);
@ -501,7 +474,7 @@ void HttpServerConnection::ProcessMessages(boost::asio::yield_context yc)
m_Seen = std::numeric_limits<decltype(m_Seen)>::max(); m_Seen = std::numeric_limits<decltype(m_Seen)>::max();
if (!ProcessRequest(*m_Stream, request, response, *this, m_HasStartedStreaming, m_WaitGroup, cpuBoundWorkTime, yc)) { if (!ProcessRequest(request, response, m_WaitGroup, cpuBoundWorkTime, yc)) {
break; break;
} }

View File

@ -30,7 +30,6 @@ public:
const Shared<AsioTlsStream>::Ptr& stream); const Shared<AsioTlsStream>::Ptr& stream);
void Start(); void Start();
void StartStreaming();
bool Disconnected(); bool Disconnected();
private: private:
@ -41,7 +40,6 @@ private:
String m_PeerAddress; String m_PeerAddress;
boost::asio::io_context::strand m_IoStrand; boost::asio::io_context::strand m_IoStrand;
bool m_ShuttingDown; bool m_ShuttingDown;
bool m_HasStartedStreaming;
boost::asio::deadline_timer m_CheckLivenessTimer; boost::asio::deadline_timer m_CheckLivenessTimer;
HttpServerConnection(const WaitGroup::Ptr& waitGroup, const String& identity, bool authenticated, HttpServerConnection(const WaitGroup::Ptr& waitGroup, const String& identity, bool authenticated,

View File

@ -10,11 +10,9 @@ REGISTER_URLHANDLER("/", InfoHandler);
bool InfoHandler::HandleRequest( bool InfoHandler::HandleRequest(
const WaitGroup::Ptr&, const WaitGroup::Ptr&,
AsioTlsStream& stream,
HttpRequest& request, HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context& yc, boost::asio::yield_context& yc
HttpServerConnection& server
) )
{ {
namespace http = boost::beast::http; namespace http = boost::beast::http;

View File

@ -15,11 +15,9 @@ public:
bool HandleRequest( bool HandleRequest(
const WaitGroup::Ptr& waitGroup, const WaitGroup::Ptr& waitGroup,
AsioTlsStream& stream,
HttpRequest& request, HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context& yc, boost::asio::yield_context& yc
HttpServerConnection& server
) override; ) override;
}; };

View File

@ -19,11 +19,9 @@ REGISTER_URLHANDLER("/v1/debug/malloc_info", MallocInfoHandler);
bool MallocInfoHandler::HandleRequest( bool MallocInfoHandler::HandleRequest(
const WaitGroup::Ptr&, const WaitGroup::Ptr&,
AsioTlsStream&,
HttpRequest& request, HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context&, boost::asio::yield_context&
HttpServerConnection&
) )
{ {
namespace http = boost::beast::http; namespace http = boost::beast::http;

View File

@ -14,11 +14,9 @@ public:
bool HandleRequest( bool HandleRequest(
const WaitGroup::Ptr& waitGroup, const WaitGroup::Ptr& waitGroup,
AsioTlsStream& stream,
HttpRequest& request, HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context& yc, boost::asio::yield_context& yc
HttpServerConnection& server
) override; ) override;
}; };

View File

@ -15,11 +15,9 @@ REGISTER_URLHANDLER("/v1/objects", ModifyObjectHandler);
bool ModifyObjectHandler::HandleRequest( bool ModifyObjectHandler::HandleRequest(
const WaitGroup::Ptr& waitGroup, const WaitGroup::Ptr& waitGroup,
AsioTlsStream& stream,
HttpRequest& request, HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context& yc, boost::asio::yield_context& yc
HttpServerConnection& server
) )
{ {
namespace http = boost::beast::http; namespace http = boost::beast::http;

View File

@ -15,11 +15,9 @@ public:
bool HandleRequest( bool HandleRequest(
const WaitGroup::Ptr& waitGroup, const WaitGroup::Ptr& waitGroup,
AsioTlsStream& stream,
HttpRequest& request, HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context& yc, boost::asio::yield_context& yc
HttpServerConnection& server
) override; ) override;
}; };

View File

@ -90,11 +90,9 @@ Dictionary::Ptr ObjectQueryHandler::SerializeObjectAttrs(const Object::Ptr& obje
bool ObjectQueryHandler::HandleRequest( bool ObjectQueryHandler::HandleRequest(
const WaitGroup::Ptr&, const WaitGroup::Ptr&,
AsioTlsStream& stream,
HttpRequest& request, HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context& yc, boost::asio::yield_context& yc
HttpServerConnection& server
) )
{ {
namespace http = boost::beast::http; namespace http = boost::beast::http;

View File

@ -15,11 +15,9 @@ public:
bool HandleRequest( bool HandleRequest(
const WaitGroup::Ptr& waitGroup, const WaitGroup::Ptr& waitGroup,
AsioTlsStream& stream,
HttpRequest& request, HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context& yc, boost::asio::yield_context& yc
HttpServerConnection& server
) override; ) override;
private: private:

View File

@ -70,11 +70,9 @@ public:
bool StatusHandler::HandleRequest( bool StatusHandler::HandleRequest(
const WaitGroup::Ptr&, const WaitGroup::Ptr&,
AsioTlsStream& stream,
HttpRequest& request, HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context& yc, boost::asio::yield_context& yc
HttpServerConnection& server
) )
{ {
namespace http = boost::beast::http; namespace http = boost::beast::http;

View File

@ -15,11 +15,9 @@ public:
bool HandleRequest( bool HandleRequest(
const WaitGroup::Ptr& waitGroup, const WaitGroup::Ptr& waitGroup,
AsioTlsStream& stream,
HttpRequest& request, HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context& yc, boost::asio::yield_context& yc
HttpServerConnection& server
) override; ) override;
}; };

View File

@ -77,11 +77,9 @@ public:
bool TemplateQueryHandler::HandleRequest( bool TemplateQueryHandler::HandleRequest(
const WaitGroup::Ptr&, const WaitGroup::Ptr&,
AsioTlsStream& stream,
HttpRequest& request, HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context& yc, boost::asio::yield_context& yc
HttpServerConnection& server
) )
{ {
namespace http = boost::beast::http; namespace http = boost::beast::http;

View File

@ -15,11 +15,9 @@ public:
bool HandleRequest( bool HandleRequest(
const WaitGroup::Ptr& waitGroup, const WaitGroup::Ptr& waitGroup,
AsioTlsStream& stream,
HttpRequest& request, HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context& yc, boost::asio::yield_context& yc
HttpServerConnection& server
) override; ) override;
}; };

View File

@ -48,11 +48,9 @@ public:
bool TypeQueryHandler::HandleRequest( bool TypeQueryHandler::HandleRequest(
const WaitGroup::Ptr&, const WaitGroup::Ptr&,
AsioTlsStream& stream,
HttpRequest& request, HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context& yc, boost::asio::yield_context& yc
HttpServerConnection& server
) )
{ {
namespace http = boost::beast::http; namespace http = boost::beast::http;

View File

@ -15,11 +15,9 @@ public:
bool HandleRequest( bool HandleRequest(
const WaitGroup::Ptr& waitGroup, const WaitGroup::Ptr& waitGroup,
AsioTlsStream& stream,
HttpRequest& request, HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context& yc, boost::asio::yield_context& yc
HttpServerConnection& server
) override; ) override;
}; };

View File

@ -58,11 +58,9 @@ public:
bool VariableQueryHandler::HandleRequest( bool VariableQueryHandler::HandleRequest(
const WaitGroup::Ptr&, const WaitGroup::Ptr&,
AsioTlsStream& stream,
HttpRequest& request, HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context& yc, boost::asio::yield_context& yc
HttpServerConnection& server
) )
{ {
namespace http = boost::beast::http; namespace http = boost::beast::http;

View File

@ -15,11 +15,9 @@ public:
bool HandleRequest( bool HandleRequest(
const WaitGroup::Ptr& waitGroup, const WaitGroup::Ptr& waitGroup,
AsioTlsStream& stream,
HttpRequest& request, HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context& yc, boost::asio::yield_context& yc
HttpServerConnection& server
) override; ) override;
}; };