Monero
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
epee::http_server_impl_base< t_child_class, t_connection_context > Class Template Reference

#include <http_server_impl_base.h>

Inheritance diagram for epee::http_server_impl_base< t_child_class, t_connection_context >:
Inheritance graph
[legend]
Collaboration diagram for epee::http_server_impl_base< t_child_class, t_connection_context >:
Collaboration graph
[legend]

Public Member Functions

 http_server_impl_base ()
 
 http_server_impl_base (boost::asio::io_context &external_io_service)
 
bool init (std::function< void(size_t, uint8_t *)> rng, const std::string &bind_port="0", const std::string &bind_ip="0.0.0.0", const std::string &bind_ipv6_address="::", bool use_ipv6=false, bool require_ipv4=true, std::vector< std::string > access_control_origins=std::vector< std::string >(), boost::optional< net_utils::http::login > user=boost::none, net_utils::ssl_options_t ssl_options=net_utils::ssl_support_t::e_ssl_support_autodetect, const std::size_t max_public_ip_connections=DEFAULT_RPC_MAX_CONNECTIONS_PER_PUBLIC_IP, const std::size_t max_private_ip_connections=DEFAULT_RPC_MAX_CONNECTIONS_PER_PRIVATE_IP, const std::size_t max_connections=DEFAULT_RPC_MAX_CONNECTIONS, const std::size_t response_soft_limit=DEFAULT_RPC_SOFT_LIMIT_SIZE)
 
bool run (size_t threads_count, bool wait=true)
 
bool deinit ()
 
bool timed_wait_server_stop (uint64_t ms)
 
bool send_stop_signal ()
 
int get_binded_port ()
 
long get_connections_count () const
 
- Public Member Functions inherited from epee::net_utils::http::i_http_server_handler< t_connection_context >
virtual ~i_http_server_handler ()
 
virtual bool handle_http_request (const http_request_info &query_info, http_response_info &response, t_connection_context &m_conn_context)=0
 
virtual bool init_server_thread ()
 
virtual bool deinit_server_thread ()
 

Protected Member Functions

virtual bool is_host_limit (const net_utils::network_address &na) override final
 

Protected Attributes

net_utils::boosted_tcp_server< net_utils::http::http_custom_handler< t_connection_context > > m_net_server
 

Additional Inherited Members

virtual ~i_connection_limit ()
 

Constructor & Destructor Documentation

◆ http_server_impl_base() [1/2]

template<class t_child_class, class t_connection_context = epee::net_utils::connection_context_base>
epee::http_server_impl_base< t_child_class, t_connection_context >::http_server_impl_base ( )
inline

◆ http_server_impl_base() [2/2]

template<class t_child_class, class t_connection_context = epee::net_utils::connection_context_base>
epee::http_server_impl_base< t_child_class, t_connection_context >::http_server_impl_base ( boost::asio::io_context &  external_io_service)
inlineexplicit

Member Function Documentation

◆ deinit()

template<class t_child_class, class t_connection_context = epee::net_utils::connection_context_base>
bool epee::http_server_impl_base< t_child_class, t_connection_context >::deinit ( )
inline

◆ get_binded_port()

template<class t_child_class, class t_connection_context = epee::net_utils::connection_context_base>
int epee::http_server_impl_base< t_child_class, t_connection_context >::get_binded_port ( )
inline

◆ get_connections_count()

template<class t_child_class, class t_connection_context = epee::net_utils::connection_context_base>
long epee::http_server_impl_base< t_child_class, t_connection_context >::get_connections_count ( ) const
inline

◆ init()

template<class t_child_class, class t_connection_context = epee::net_utils::connection_context_base>
bool epee::http_server_impl_base< t_child_class, t_connection_context >::init ( std::function< void(size_t, uint8_t *)>  rng,
const std::string &  bind_port = "0",
const std::string &  bind_ip = "0.0.0.0",
const std::string &  bind_ipv6_address = "::",
bool  use_ipv6 = false,
bool  require_ipv4 = true,
std::vector< std::string >  access_control_origins = std::vector<std::string>(),
boost::optional< net_utils::http::login user = boost::none,
net_utils::ssl_options_t  ssl_options = net_utils::ssl_support_t::e_ssl_support_autodetect,
const std::size_t  max_public_ip_connections = DEFAULT_RPC_MAX_CONNECTIONS_PER_PUBLIC_IP,
const std::size_t  max_private_ip_connections = DEFAULT_RPC_MAX_CONNECTIONS_PER_PRIVATE_IP,
const std::size_t  max_connections = DEFAULT_RPC_MAX_CONNECTIONS,
const std::size_t  response_soft_limit = DEFAULT_RPC_SOFT_LIMIT_SIZE 
)
inline

◆ is_host_limit()

template<class t_child_class, class t_connection_context = epee::net_utils::connection_context_base>
virtual bool epee::http_server_impl_base< t_child_class, t_connection_context >::is_host_limit ( const net_utils::network_address na)
inlinefinaloverrideprotectedvirtual

◆ run()

template<class t_child_class, class t_connection_context = epee::net_utils::connection_context_base>
bool epee::http_server_impl_base< t_child_class, t_connection_context >::run ( size_t  threads_count,
bool  wait = true 
)
inline

◆ send_stop_signal()

template<class t_child_class, class t_connection_context = epee::net_utils::connection_context_base>
bool epee::http_server_impl_base< t_child_class, t_connection_context >::send_stop_signal ( )
inline

◆ timed_wait_server_stop()

template<class t_child_class, class t_connection_context = epee::net_utils::connection_context_base>
bool epee::http_server_impl_base< t_child_class, t_connection_context >::timed_wait_server_stop ( uint64_t  ms)
inline

Member Data Documentation

◆ m_net_server

template<class t_child_class, class t_connection_context = epee::net_utils::connection_context_base>
net_utils::boosted_tcp_server<net_utils::http::http_custom_handler<t_connection_context> > epee::http_server_impl_base< t_child_class, t_connection_context >::m_net_server
protected

The documentation for this class was generated from the following file: