aboutsummaryrefslogtreecommitdiff
path: root/src/zenhttp/servers/httpasio.h
blob: 21d10170e002fbb7fd0e966072c67f48fbce60e7 (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
// Copyright Epic Games, Inc. All Rights Reserved.

#pragma once

#include <zenhttp/httpserver.h>

namespace zen {

struct AsioConfig
{
	unsigned int ThreadCount	   = 0;
	bool		 ForceLoopback	   = false;
	bool		 IsDedicatedServer = false;
	bool		 NoNetwork		   = false;
	std::string	 UnixSocketPath;
#if ZEN_USE_OPENSSL
	int			HttpsPort = 0;	// 0 = auto-assign; set CertFile/KeyFile to enable HTTPS
	std::string CertFile;		// PEM certificate chain file (empty = HTTPS disabled)
	std::string KeyFile;		// PEM private key file
#endif
};

Ref<HttpServer> CreateHttpAsioServer(const AsioConfig& Config);

bool IsIPv6Capable();

}  // namespace zen