aboutsummaryrefslogtreecommitdiff
path: root/zenserver/diag/diagsvcs.h
diff options
context:
space:
mode:
Diffstat (limited to 'zenserver/diag/diagsvcs.h')
-rw-r--r--zenserver/diag/diagsvcs.h28
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