summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/asio/src/examples/cpp11/http/server4/header.hpp
blob: a4148e5d9103dd06e84b4fa2d1d28d71e908dd3f (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
28
//
// header.hpp
// ~~~~~~~~~~
//
// Copyright (c) 2003-2024 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//

#ifndef HTTP_SERVER4_HEADER_HPP
#define HTTP_SERVER4_HEADER_HPP

#include <string>

namespace http {
namespace server4 {

struct header
{
  std::string name;
  std::string value;
};

} // namespace server4
} // namespace http

#endif // HTTP_SERVER4_HEADER_HPP
espace http { namespace server2 { /// The top-level class of the HTTP server. class server { public: server(const server&) = delete; server& operator=(const server&) = delete; /// Construct the server to listen on the specified TCP address and port, and /// serve up files from the given directory. explicit server(const std::string& address, const std::string& port, const std::string& doc_root, std::size_t io_context_pool_size); /// Run the server's io_context loop. void run(); private: /// Perform an asynchronous accept operation. void do_accept(); /// Wait for a request to stop the server. void do_await_stop(); /// The pool of io_context objects used to perform asynchronous operations. io_context_pool io_context_pool_; /// The signal_set is used to register for process termination notifications. asio::signal_set signals_; /// Acceptor used to listen for incoming connections. asio::ip::tcp::acceptor acceptor_; /// The handler for all incoming requests. request_handler request_handler_; }; } // namespace server2 } // namespace http #endif // HTTP_SERVER2_SERVER_HPP