// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include #include namespace zen { class GcScheduler; class JobQueue; class ZenCacheStore; class HttpAdminService : public zen::HttpService { public: struct LogPaths { std::filesystem::path AbsLogPath; std::filesystem::path HttpLogPath; std::filesystem::path CacheLogPath; }; HttpAdminService(GcScheduler& Scheduler, JobQueue& BackgroundJobQueue, ZenCacheStore& CacheStore, const LogPaths& LogPaths); ~HttpAdminService(); virtual const char* BaseUri() const override; virtual void HandleRequest(zen::HttpServerRequest& Request) override; private: HttpRequestRouter m_Router; GcScheduler& m_GcScheduler; JobQueue& m_BackgroundJobQueue; ZenCacheStore& m_CacheStore; LogPaths m_LogPaths; }; } // namespace zen