aboutsummaryrefslogtreecommitdiff
path: root/src/zenserver/workspaces/httpworkspaces.h
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2025-10-14 11:32:16 +0200
committerGitHub Enterprise <[email protected]>2025-10-14 11:32:16 +0200
commitca09abbeef5b1788f4a52b61eedd2f3dd07f81f2 (patch)
tree005a50adfddf6982bab3a06bb93d4c50da1a11fd /src/zenserver/workspaces/httpworkspaces.h
parentmake asiohttp work without IPv6 (#562) (diff)
downloadzen-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.h97
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