Remove extra parameters from HTTP handler signature

These parameters are no longer needed since they were only used
by EventsHandler which was refactored in an earlier commit.
This commit is contained in:
Johannes Schmidt 2025-07-23 09:44:26 +02:00
parent d32f04a863
commit 62b2dadbac
35 changed files with 40 additions and 127 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,
const HttpRequest& request, const 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,
const HttpRequest& request, const 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,
const HttpRequest& request, const 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,
const HttpRequest& request, const HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context& yc, boost::asio::yield_context& yc
HttpServerConnection& server
) override; ) override;
}; };

View File

@ -13,11 +13,9 @@ REGISTER_URLHANDLER("/v1/config/packages", ConfigPackagesHandler);
bool ConfigPackagesHandler::HandleRequest( bool ConfigPackagesHandler::HandleRequest(
const WaitGroup::Ptr&, const WaitGroup::Ptr&,
AsioTlsStream& stream,
const HttpRequest& request, const 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,
const HttpRequest& request, const HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context& yc, boost::asio::yield_context& yc
HttpServerConnection& server
) override; ) override;
private: private:

View File

@ -20,11 +20,9 @@ static std::mutex l_RunningPackageUpdatesMutex; // Protects the above two variab
bool ConfigStagesHandler::HandleRequest( bool ConfigStagesHandler::HandleRequest(
const WaitGroup::Ptr&, const WaitGroup::Ptr&,
AsioTlsStream& stream,
const HttpRequest& request, const 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,
const HttpRequest& request, const 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,
const HttpRequest& request, const 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,
const HttpRequest& request, const 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,
const HttpRequest& request, const 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,
const HttpRequest& request, const 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,
const HttpRequest& request, const 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,
const HttpRequest& request, const 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,
const HttpRequest& request, const 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,
const HttpRequest& request, const 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;
@ -106,7 +104,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,
const HttpRequest& request, const 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

@ -408,12 +408,9 @@ bool EnsureValidBody(
} }
static inline static inline
bool ProcessRequest( void ProcessRequest(
AsioTlsStream& stream,
HttpRequest& request, HttpRequest& request,
HttpResponse& response, HttpResponse& response,
HttpServerConnection& server,
bool& connectionReusable,
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
@ -425,12 +422,9 @@ 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);
response.body().Finish();
} catch (const std::exception& ex) { } catch (const std::exception& ex) {
if (!connectionReusable) {
return false;
}
/* Since we don't know the state the stream is in, we can't send an error response and /* Since we don't know the state the stream is in, we can't send an error response and
* have to just cause a disconnect here. * have to just cause a disconnect here.
*/ */
@ -439,18 +433,9 @@ bool ProcessRequest(
} }
HttpUtility::SendJsonError(response, request.Params(), 500, "Unhandled exception", DiagnosticInformation(ex)); HttpUtility::SendJsonError(response, request.Params(), 500, "Unhandled exception", DiagnosticInformation(ex));
response.Flush(yc);
return true;
} }
if (!connectionReusable) {
return false;
}
response.body().Finish();
response.Flush(yc); response.Flush(yc);
return true;
} }
void HttpServerConnection::ProcessMessages(boost::asio::yield_context yc) void HttpServerConnection::ProcessMessages(boost::asio::yield_context yc)
@ -536,9 +521,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_ConnectionReusable, m_WaitGroup, cpuBoundWorkTime, yc)) { ProcessRequest(request, response, m_WaitGroup, cpuBoundWorkTime, yc);
break;
}
if (!request.keep_alive() || !m_ConnectionReusable) { if (!request.keep_alive() || !m_ConnectionReusable) {
break; break;

View File

@ -10,11 +10,9 @@ REGISTER_URLHANDLER("/", InfoHandler);
bool InfoHandler::HandleRequest( bool InfoHandler::HandleRequest(
const WaitGroup::Ptr&, const WaitGroup::Ptr&,
AsioTlsStream& stream,
const HttpRequest& request, const 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,
const HttpRequest& request, const 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&,
const HttpRequest& request, const 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,
const HttpRequest& request, const 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,
const HttpRequest& request, const 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,
const HttpRequest& request, const 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,
const HttpRequest& request, const 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,
const HttpRequest& request, const 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,
const HttpRequest& request, const 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,
const HttpRequest& request, const 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,
const HttpRequest& request, const 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,
const HttpRequest& request, const 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,
const HttpRequest& request, const 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,
const HttpRequest& request, const 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,
const HttpRequest& request, const 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,
const HttpRequest& request, const HttpRequest& request,
HttpResponse& response, HttpResponse& response,
boost::asio::yield_context& yc, boost::asio::yield_context& yc
HttpServerConnection& server
) override; ) override;
}; };