From f29a15588a72a5d3ace7e615493b09451a12aaf9 Mon Sep 17 00:00:00 2001 From: Stefan Boberg Date: Thu, 19 Feb 2026 20:51:32 +0100 Subject: added HttpServer::GetServiceUri intended to be used to get an externally accessible URI to a given service (or the root endpoint if `nullptr` is specified) --- src/zenhttp/httpserver.cpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'src/zenhttp/httpserver.cpp') diff --git a/src/zenhttp/httpserver.cpp b/src/zenhttp/httpserver.cpp index f2fe4738f..d6dfb347f 100644 --- a/src/zenhttp/httpserver.cpp +++ b/src/zenhttp/httpserver.cpp @@ -23,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -1014,7 +1015,21 @@ HttpRequestRouter::HandleRequest(zen::HttpServerRequest& Request) int HttpServer::Initialize(int BasePort, std::filesystem::path DataDir) { - return OnInitialize(BasePort, std::move(DataDir)); + m_EffectivePort = OnInitialize(BasePort, std::move(DataDir)); + return m_EffectivePort; +} + +std::string +HttpServer::GetServiceUri(const HttpService* Service) const +{ + if (Service) + { + return fmt::format("http://{}:{}{}", GetMachineName(), m_EffectivePort, Service->BaseUri()); + } + else + { + return fmt::format("http://{}:{}", GetMachineName(), m_EffectivePort); + } } void -- cgit v1.2.3