CppServer  1.0.0.0
C++ Server Library
web_ssl_server.h
Go to the documentation of this file.
1 
9 #ifndef CPPSERVER_ASIO_WEB_SSL_SERVER_H
10 #define CPPSERVER_ASIO_WEB_SSL_SERVER_H
11 
12 #include "web_server.h"
13 
14 namespace CppServer {
15 namespace Asio {
16 
18 
26 class WebSSLServer : public WebServer
27 {
28 public:
30 
34  explicit WebSSLServer(std::shared_ptr<Service> service, int port);
36 
41  explicit WebSSLServer(std::shared_ptr<Service> service, const std::string& address, int port);
42  WebSSLServer(const WebSSLServer&) = delete;
43  WebSSLServer(WebSSLServer&&) = default;
44  virtual ~WebSSLServer() = default;
45 
46  WebSSLServer& operator=(const WebSSLServer&) = delete;
47  WebSSLServer& operator=(WebSSLServer&&) = default;
48 
50  std::shared_ptr<restbed::SSLSettings>& ssl_settings() noexcept { return _ssl_settings; }
51 
52 private:
53  // Restbed SSL settings
54  std::shared_ptr<restbed::SSLSettings> _ssl_settings;
55 };
56 
59 } // namespace Asio
60 } // namespace CppServer
61 
62 #endif // CPPSERVER_ASIO_WEB_SSL_SERVER_H
WebSSLServer & operator=(const WebSSLServer &)=delete
std::shared_ptr< Service > & service() noexcept
Get the Asio service.
Definition: web_server.h:52
HTTP Web server definition.
virtual ~WebSSLServer()=default
HTTP Web server.
Definition: web_server.h:28
C++ Server project definitions.
Definition: asio.h:24
WebSSLServer(std::shared_ptr< Service > service, int port)
Initialize HTTPS Web server with a given Asio service and port number.
std::shared_ptr< restbed::SSLSettings > & ssl_settings() noexcept
Get the Restbed SSL settings.