diff options
Diffstat (limited to 'src/zenserver/frontend/frontend.h')
| -rw-r--r-- | src/zenserver/frontend/frontend.h | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/src/zenserver/frontend/frontend.h b/src/zenserver/frontend/frontend.h index 6d8585b72..0e7a4fe3c 100644 --- a/src/zenserver/frontend/frontend.h +++ b/src/zenserver/frontend/frontend.h @@ -4,26 +4,34 @@ #include <zenhttp/httpserver.h> #include <zenhttp/httpstatus.h> -#include "zipfs.h" +#include <zenhttp/zipfs.h> #include <filesystem> #include <memory> namespace zen { -class HttpFrontendService final : public zen::HttpService, public IHttpStatusProvider +class HttpStatsService; + +class HttpFrontendService final : public HttpService, public IHttpStatusProvider, public IHttpStatsProvider { public: - HttpFrontendService(std::filesystem::path Directory, HttpStatusService& StatusService); + HttpFrontendService(std::filesystem::path Directory, HttpStatsService& StatsService, HttpStatusService& StatusService); virtual ~HttpFrontendService(); virtual const char* BaseUri() const override; - virtual void HandleRequest(zen::HttpServerRequest& Request) override; + virtual void HandleRequest(HttpServerRequest& Request) override; virtual void HandleStatusRequest(HttpServerRequest& Request) override; + virtual void HandleStatsRequest(HttpServerRequest& Request) override; + virtual CbObject CollectStats() override; + virtual uint64_t GetActivityCounter() override; private: - std::unique_ptr<ZipFs> m_ZipFs; - std::filesystem::path m_Directory; - HttpStatusService& m_StatusService; + std::unique_ptr<ZipFs> m_ZipFs; + std::filesystem::path m_Directory; + std::filesystem::path m_DocsDirectory; + HttpStatsService& m_StatsService; + HttpStatusService& m_StatusService; + metrics::OperationTiming m_HttpRequests; }; } // namespace zen |