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 d26294a58a
commit 096a210e31
36 changed files with 39 additions and 138 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -30,21 +30,17 @@ public:
virtual bool HandleRequest(
const WaitGroup::Ptr& waitGroup,
AsioTlsStream& stream,
const HttpRequest& request,
HttpResponse& response,
boost::asio::yield_context& yc,
HttpServerConnection& server
boost::asio::yield_context& yc
) = 0;
static void Register(const Url::Ptr& url, const HttpHandler::Ptr& handler);
static void ProcessRequest(
const WaitGroup::Ptr& waitGroup,
AsioTlsStream& stream,
HttpRequest& request,
HttpResponse& response,
boost::asio::yield_context& yc,
HttpServerConnection& server
boost::asio::yield_context& yc
);
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)
: m_WaitGroup(waitGroup), m_Stream(stream), m_Seen(Utility::GetTime()), m_CanRead(io, true), m_IoStrand(io), m_ShuttingDown(false), m_HasStartedStreaming(false),
m_CheckLivenessTimer(io)
: m_WaitGroup(waitGroup), m_Stream(stream), m_Seen(Utility::GetTime()), m_CanRead(io, true), m_IoStrand(io), m_ShuttingDown(false), m_CheckLivenessTimer(io)
{
if (authenticated) {
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()
{
return m_ShuttingDown;
@ -385,11 +361,8 @@ bool EnsureValidBody(
static inline
bool ProcessRequest(
AsioTlsStream& stream,
HttpRequest& request,
HttpResponse& response,
HttpServerConnection& server,
bool& hasStartedStreaming,
const WaitGroup::Ptr& waitGroup,
std::chrono::steady_clock::duration& cpuBoundWorkTime,
boost::asio::yield_context& yc
@ -401,7 +374,7 @@ bool ProcessRequest(
CpuBoundWork handlingRequest (yc);
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) {
/* This means we can't do anything with the connection anymore, so we can't send
* an error response. And since we don't know the state the stream is in, we have to
@ -508,7 +481,7 @@ void HttpServerConnection::ProcessMessages(boost::asio::yield_context yc)
m_Seen = std::numeric_limits<decltype(m_Seen)>::max();
m_CanRead.Clear();
if (!ProcessRequest(*m_Stream, request, response, *this, m_HasStartedStreaming, m_WaitGroup, cpuBoundWorkTime, yc)) {
if (!ProcessRequest(request, response, m_WaitGroup, cpuBoundWorkTime, yc)) {
break;
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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