diff options
Diffstat (limited to 'zenserver/diag/diagsvcs.h')
| -rw-r--r-- | zenserver/diag/diagsvcs.h | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/zenserver/diag/diagsvcs.h b/zenserver/diag/diagsvcs.h index 61703e393..bd03f8023 100644 --- a/zenserver/diag/diagsvcs.h +++ b/zenserver/diag/diagsvcs.h @@ -5,6 +5,8 @@ #include <zencore/iobuffer.h> #include <zenhttp/httpserver.h> +#include <filesystem> + ////////////////////////////////////////////////////////////////////////// namespace zen { @@ -82,26 +84,28 @@ private: IoBuffer m_1k{m_1m, 0u, 1024}; }; +struct HealthServiceInfo +{ + std::filesystem::path DataRoot; + std::filesystem::path AbsLogPath; + std::string HttpServerClass; + std::string BuildVersion; +}; + class HttpHealthService : public HttpService { public: - HttpHealthService() = default; + HttpHealthService(); ~HttpHealthService() = default; - virtual const char* BaseUri() const override { return "/health/"; } + void SetHealthInfo(HealthServiceInfo&& Info); - virtual void HandleRequest(HttpServerRequest& Request) override - { - using namespace std::literals; - - switch (Request.RequestVerb()) - { - case HttpVerb::kGet: - return Request.WriteResponse(HttpResponseCode::OK, HttpContentType::kText, u8"OK!"sv); - } - } + virtual const char* BaseUri() const override; + virtual void HandleRequest(HttpServerRequest& Request) override final; private: + HttpRequestRouter m_Router; + HealthServiceInfo m_HealthInfo; }; } // namespace zen |