http_server.hpp (04e438cbad66838724d78ce12f28aff1fb892a63) http_server.hpp (81ce609e30274435b4f8c3fc65340c6b6b153b0c)
1#pragma once
2
3#include "http_connection.hpp"
4#include "logging.hpp"
5#include "timer_queue.hpp"
6
7#include <boost/asio/ip/address.hpp>
8#include <boost/asio/ip/tcp.hpp>

--- 17 unchanged lines hidden (view full) ---

26{
27
28template <typename Handler, typename Adaptor = boost::asio::ip::tcp::socket>
29class Server
30{
31 public:
32 Server(Handler* handlerIn,
33 std::unique_ptr<boost::asio::ip::tcp::acceptor>&& acceptorIn,
1#pragma once
2
3#include "http_connection.hpp"
4#include "logging.hpp"
5#include "timer_queue.hpp"
6
7#include <boost/asio/ip/address.hpp>
8#include <boost/asio/ip/tcp.hpp>

--- 17 unchanged lines hidden (view full) ---

26{
27
28template <typename Handler, typename Adaptor = boost::asio::ip::tcp::socket>
29class Server
30{
31 public:
32 Server(Handler* handlerIn,
33 std::unique_ptr<boost::asio::ip::tcp::acceptor>&& acceptorIn,
34 std::shared_ptr<boost::asio::ssl::context> adaptor_ctx,
34 std::shared_ptr<boost::asio::ssl::context> adaptorCtx,
35 std::shared_ptr<boost::asio::io_context> io =
36 std::make_shared<boost::asio::io_context>()) :
37 ioService(std::move(io)),
38 acceptor(std::move(acceptorIn)),
39 signals(*ioService, SIGINT, SIGTERM, SIGHUP), timer(*ioService),
35 std::shared_ptr<boost::asio::io_context> io =
36 std::make_shared<boost::asio::io_context>()) :
37 ioService(std::move(io)),
38 acceptor(std::move(acceptorIn)),
39 signals(*ioService, SIGINT, SIGTERM, SIGHUP), timer(*ioService),
40 handler(handlerIn), adaptorCtx(std::move(adaptor_ctx))
40 handler(handlerIn), adaptorCtx(std::move(adaptorCtx))
41 {}
42
43 Server(Handler* handlerIn, const std::string& bindaddr, uint16_t port,
41 {}
42
43 Server(Handler* handlerIn, const std::string& bindaddr, uint16_t port,
44 const std::shared_ptr<boost::asio::ssl::context>& adaptor_ctx,
44 const std::shared_ptr<boost::asio::ssl::context>& adaptorCtx,
45 const std::shared_ptr<boost::asio::io_context>& io =
46 std::make_shared<boost::asio::io_context>()) :
47 Server(handlerIn,
48 std::make_unique<boost::asio::ip::tcp::acceptor>(
49 *io, boost::asio::ip::tcp::endpoint(
50 boost::asio::ip::make_address(bindaddr), port)),
45 const std::shared_ptr<boost::asio::io_context>& io =
46 std::make_shared<boost::asio::io_context>()) :
47 Server(handlerIn,
48 std::make_unique<boost::asio::ip::tcp::acceptor>(
49 *io, boost::asio::ip::tcp::endpoint(
50 boost::asio::ip::make_address(bindaddr), port)),
51 adaptor_ctx, io)
51 adaptorCtx, io)
52 {}
53
52 {}
53
54 Server(Handler* handlerIn, int existing_socket,
55 const std::shared_ptr<boost::asio::ssl::context>& adaptor_ctx,
54 Server(Handler* handlerIn, int existingSocket,
55 const std::shared_ptr<boost::asio::ssl::context>& adaptorCtx,
56 const std::shared_ptr<boost::asio::io_context>& io =
57 std::make_shared<boost::asio::io_context>()) :
58 Server(handlerIn,
59 std::make_unique<boost::asio::ip::tcp::acceptor>(
56 const std::shared_ptr<boost::asio::io_context>& io =
57 std::make_shared<boost::asio::io_context>()) :
58 Server(handlerIn,
59 std::make_unique<boost::asio::ip::tcp::acceptor>(
60 *io, boost::asio::ip::tcp::v6(), existing_socket),
61 adaptor_ctx, io)
60 *io, boost::asio::ip::tcp::v6(), existingSocket),
61 adaptorCtx, io)
62 {}
63
64 void updateDateStr()
65 {
66 time_t lastTimeT = time(nullptr);
67 tm myTm{};
68
69 gmtime_r(&lastTimeT, &myTm);

--- 171 unchanged lines hidden ---
62 {}
63
64 void updateDateStr()
65 {
66 time_t lastTimeT = time(nullptr);
67 tm myTm{};
68
69 gmtime_r(&lastTimeT, &myTm);

--- 171 unchanged lines hidden ---