diff options
| author | Stefan Boberg <[email protected]> | 2025-10-14 11:32:16 +0200 |
|---|---|---|
| committer | GitHub Enterprise <[email protected]> | 2025-10-14 11:32:16 +0200 |
| commit | ca09abbeef5b1788f4a52b61eedd2f3dd07f81f2 (patch) | |
| tree | 005a50adfddf6982bab3a06bb93d4c50da1a11fd /src/zenserver/workspaces/httpworkspaces.h | |
| parent | make asiohttp work without IPv6 (#562) (diff) | |
| download | zen-ca09abbeef5b1788f4a52b61eedd2f3dd07f81f2.tar.xz zen-ca09abbeef5b1788f4a52b61eedd2f3dd07f81f2.zip | |
move all storage-related services into storage tree (#571)
* move all storage-related services into storage tree
* move config into config/
* also move admin service into storage since it mostly has storage related functionality
* header consolidation
Diffstat (limited to 'src/zenserver/workspaces/httpworkspaces.h')
| -rw-r--r-- | src/zenserver/workspaces/httpworkspaces.h | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/src/zenserver/workspaces/httpworkspaces.h b/src/zenserver/workspaces/httpworkspaces.h deleted file mode 100644 index 89a8e8bdc..000000000 --- a/src/zenserver/workspaces/httpworkspaces.h +++ /dev/null @@ -1,97 +0,0 @@ -// Copyright Epic Games, Inc. All Rights Reserved. - -#pragma once - -#include <zencore/stats.h> -#include <zenhttp/httpserver.h> -#include <zenhttp/httpstats.h> -#include <zenhttp/httpstatus.h> - -namespace zen { - -class Workspaces; - -struct WorkspacesServeConfig -{ - std::filesystem::path SystemRootDir; - bool AllowConfigurationChanges = false; -}; - -class HttpWorkspacesService final : public HttpService, public IHttpStatusProvider, public IHttpStatsProvider -{ -public: - HttpWorkspacesService(HttpStatusService& StatusService, - HttpStatsService& StatsService, - const WorkspacesServeConfig& Cfg, - Workspaces& Workspaces); - virtual ~HttpWorkspacesService(); - - virtual const char* BaseUri() const override; - virtual void HandleRequest(HttpServerRequest& Request) override; - - virtual void HandleStatsRequest(HttpServerRequest& Request) override; - virtual void HandleStatusRequest(HttpServerRequest& Request) override; - -private: - struct WorkspacesStats - { - std::atomic_uint64_t WorkspaceReadCount{}; - std::atomic_uint64_t WorkspaceWriteCount{}; - std::atomic_uint64_t WorkspaceDeleteCount{}; - std::atomic_uint64_t WorkspaceShareReadCount{}; - std::atomic_uint64_t WorkspaceShareWriteCount{}; - std::atomic_uint64_t WorkspaceShareDeleteCount{}; - std::atomic_uint64_t WorkspaceShareFilesReadCount{}; - std::atomic_uint64_t WorkspaceShareEntriesReadCount{}; - std::atomic_uint64_t WorkspaceShareBatchReadCount{}; - std::atomic_uint64_t WorkspaceShareChunkHitCount{}; - std::atomic_uint64_t WorkspaceShareChunkMissCount{}; - std::atomic_uint64_t RequestCount{}; - std::atomic_uint64_t BadRequestCount{}; - }; - - inline LoggerRef Log() { return m_Log; } - - LoggerRef m_Log; - - void Initialize(); - std::filesystem::path GetStatePath() const; - void RefreshState(); - // void WriteState(); - - bool MayChangeConfiguration(const HttpServerRequest& Req) const; - - void WorkspacesRequest(HttpRouterRequest& Req); - void RefreshRequest(HttpRouterRequest& Req); - void FilesRequest(HttpRouterRequest& Req); - void ChunkInfoRequest(HttpRouterRequest& Req); - void BatchRequest(HttpRouterRequest& Req); - void EntriesRequest(HttpRouterRequest& Req); - void ChunkRequest(HttpRouterRequest& Req); - void ShareRequest(HttpRouterRequest& Req); - void WorkspaceRequest(HttpRouterRequest& Req); - - void ShareAliasFilesRequest(HttpRouterRequest& Req); - void ShareAliasChunkInfoRequest(HttpRouterRequest& Req); - void ShareAliasBatchRequest(HttpRouterRequest& Req); - void ShareAliasEntriesRequest(HttpRouterRequest& Req); - void ShareAliasChunkRequest(HttpRouterRequest& Req); - void ShareAliasRequest(HttpRouterRequest& Req); - - void FilesRequest(HttpRouterRequest& Req, const Oid& WorkspaceId, const Oid& ShareId); - void ChunkInfoRequest(HttpRouterRequest& Req, const Oid& WorkspaceId, const Oid& ShareId, const Oid& ChunkId); - void BatchRequest(HttpRouterRequest& Req, const Oid& WorkspaceId, const Oid& ShareId); - void EntriesRequest(HttpRouterRequest& Req, const Oid& WorkspaceId, const Oid& ShareId); - void ChunkRequest(HttpRouterRequest& Req, const Oid& WorkspaceId, const Oid& ShareId, const Oid& ChunkId); - void ShareRequest(HttpRouterRequest& Req, const Oid& WorkspaceId, const Oid& InShareId); - - HttpStatusService& m_StatusService; - HttpStatsService& m_StatsService; - const WorkspacesServeConfig m_Config; - HttpRequestRouter m_Router; - Workspaces& m_Workspaces; - WorkspacesStats m_WorkspacesStats; - metrics::OperationTiming m_HttpRequests; -}; - -} // namespace zen |