4#include <boost/asio.hpp> 
    5#include <boost/beast.hpp> 
   15  using Request = boost::beast::http::request<boost::beast::http::string_body>;
 
   16  using Response = boost::beast::http::response<boost::beast::http::string_body>;
 
 
   24class HttpServer : 
public std::enable_shared_from_this<HttpServer> {
 
   26  HttpServer(boost::asio::io_context& io, boost::asio::ip::tcp::endpoint ep, 
const addr_t& node_addr,
 
   27             const std::shared_ptr<HttpProcessor>& request_processor, std::shared_ptr<metrics::JsonRpcMetrics> metrics);
 
   43  std::shared_ptr<metrics::JsonRpcMetrics> 
metrics_;
 
   49  boost::asio::ip::tcp::endpoint 
ep_;
 
 
   64  explicit HttpConnection(
const std::shared_ptr<HttpServer>& http_server);
 
   67  virtual std::shared_ptr<HttpConnection> 
getShared();
 
   75  boost::beast::http::request<boost::beast::http::string_body> 
request_;
 
   76  boost::beast::http::response<boost::beast::http::string_body> 
response_;
 
 
Definition FixedHash.h:35
 
Definition http_server.hpp:62
 
void stop()
Definition http_server.cpp:82
 
boost::asio::ip::tcp::socket & getSocket()
Definition http_server.hpp:66
 
virtual ~HttpConnection()
Definition http_server.hpp:65
 
void read()
Definition http_server.cpp:93
 
boost::asio::ip::tcp::socket socket_
Definition http_server.hpp:73
 
boost::beast::flat_buffer buffer_
Definition http_server.hpp:74
 
virtual std::shared_ptr< HttpConnection > getShared()
Definition http_server.cpp:70
 
std::shared_ptr< HttpServer > server_
Definition http_server.hpp:72
 
boost::beast::http::response< boost::beast::http::string_body > response_
Definition http_server.hpp:76
 
boost::beast::http::request< boost::beast::http::string_body > request_
Definition http_server.hpp:75
 
Definition http_server.hpp:13
 
virtual Response process(const Request &request)=0
 
boost::beast::http::request< boost::beast::http::string_body > Request
Definition http_server.hpp:15
 
boost::beast::http::response< boost::beast::http::string_body > Response
Definition http_server.hpp:16
 
Definition http_server.hpp:24
 
friend HttpHandler
Definition http_server.hpp:39
 
friend HttpConnection
Definition http_server.hpp:38
 
std::shared_ptr< HttpConnection > createConnection()
Definition http_server.cpp:22
 
boost::asio::ip::tcp::endpoint ep_
Definition http_server.hpp:49
 
bool start()
Definition http_server.cpp:24
 
std::shared_ptr< HttpProcessor > request_processor_
Definition http_server.hpp:42
 
bool stop()
Definition http_server.cpp:60
 
std::atomic< bool > stopped_
Definition http_server.hpp:46
 
boost::asio::ip::tcp::acceptor acceptor_
Definition http_server.hpp:48
 
std::shared_ptr< HttpServer > getShared()
Definition http_server.cpp:13
 
virtual ~HttpServer()
Definition http_server.hpp:29
 
void accept()
Definition http_server.cpp:44
 
boost::asio::io_context & io_context_
Definition http_server.hpp:47
 
std::shared_ptr< metrics::JsonRpcMetrics > metrics_
Definition http_server.hpp:43
 
boost::asio::io_context & getIoContext()
Definition http_server.hpp:35
 
#define LOG_OBJECTS_DEFINE
Definition logger.hpp:60
 
Definition http_processor.hpp:11