diff options
Diffstat (limited to 'src/zenserver/hub/httphubservice.h')
| -rw-r--r-- | src/zenserver/hub/httphubservice.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/zenserver/hub/httphubservice.h b/src/zenserver/hub/httphubservice.h new file mode 100644 index 000000000..d08eeea2a --- /dev/null +++ b/src/zenserver/hub/httphubservice.h @@ -0,0 +1,40 @@ +// Copyright Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include <zenhttp/httpserver.h> + +namespace zen { + +class Hub; + +/** ZenServer Hub Service + * + * Manages a set of storage servers on the behalf of external clients. For + * use in UEFN content worker style scenarios. + * + */ +class HttpHubService : public zen::HttpService +{ +public: + HttpHubService(Hub& Hub); + ~HttpHubService(); + + HttpHubService(const HttpHubService&) = delete; + HttpHubService& operator=(const HttpHubService&) = delete; + + virtual const char* BaseUri() const override; + virtual void HandleRequest(zen::HttpServerRequest& Request) override; + + void SetNotificationEndpoint(std::string_view UpstreamNotificationEndpoint, std::string_view InstanceId); + +private: + HttpRequestRouter m_Router; + + Hub& m_Hub; + + void HandleModuleGet(HttpServerRequest& Request, std::string_view ModuleId); + void HandleModuleDelete(HttpServerRequest& Request, std::string_view ModuleId); +}; + +} // namespace zen |