summaryrefslogtreecommitdiffhomepage
path: root/https.h
blob: 13a67a7304d156425bc53c5d3cb00b3efd5fdc30 (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
29
30
#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
public:
 ssl::context m_ctx{ssl::context::tlsv13};
 ssl::context m_ctx2{ssl::context::tlsv13};
 const Socket& m_socket;

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

 int start() override;
};

}