// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include #include #include namespace zen { class TcpProxyService; class HttpProxyStatsService : public HttpService, public IHttpStatsProvider { public: HttpProxyStatsService(const std::vector>& ProxyServices, IHttpStatsService& StatsService, std::string DefaultRecordDir); ~HttpProxyStatsService(); virtual const char* BaseUri() const override; virtual void HandleRequest(HttpServerRequest& Request) override; // IHttpStatsProvider virtual void HandleStatsRequest(HttpServerRequest& Request) override; virtual CbObject CollectStats() override; private: void HandleRecordStart(HttpServerRequest& Request); void HandleRecordStop(HttpServerRequest& Request); void HandleRecordStatus(HttpServerRequest& Request); const std::vector>& m_ProxyServices; IHttpStatsService& m_StatsService; std::string m_DefaultRecordDir; }; } // namespace zen