summaryrefslogtreecommitdiffhomepage
path: root/https.h
blob: e13746314c0240b6b95d4bc9c1f1cb661b49653e (plain)
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
#pragma once

#include <boost/asio/dispatch.hpp>
#include <boost/asio/strand.hpp>
#include <boost/beast/ssl.hpp>
#include <boost/asio/ssl.hpp>

#include "config.h"
#include "server.h"

namespace ssl = boost::asio::ssl;       // from <boost/asio/ssl.hpp>

namespace HTTPS {

class Server: public ::Server
{
 // The SSL context is required, and holds certificates
 ssl::context m_ctx{ssl::context::tlsv13};
 const Socket& m_socket;

public:
 Server(Config& config, boost::asio::io_context& ioc, const Socket& socket);
 virtual ~Server();

 int start() override;
};

}