blob: 1897587a9f9803d826cc801db9f81610667998b0 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include <zencore/thread.h>
#include <zenhttp/httpserver.h>
#include <memory>
namespace zen {
class HttpMultiServer : public HttpServer
{
public:
HttpMultiServer();
~HttpMultiServer();
virtual void OnRegisterService(HttpService& Service) override;
virtual void OnSetHttpRequestFilter(IHttpRequestFilter* RequestFilter) override;
virtual int OnInitialize(int BasePort, std::filesystem::path DataDir) override;
virtual void OnRun(bool IsInteractiveSession) override;
virtual void OnRequestExit() override;
virtual void OnClose() override;
void AddServer(Ref<HttpServer> Server);
private:
bool m_IsInitialized = false;
Event m_ShutdownEvent;
std::vector<Ref<HttpServer>> m_Servers;
};
} // namespace zen
|