11 #include <restinio/exception.hpp> 12 #include <restinio/settings.hpp> 13 #include <restinio/request_handler.hpp> 14 #include <restinio/impl/acceptor.hpp> 15 #include <restinio/traits.hpp> 46 return std::move(m_context);
67 return { std::make_shared< asio_ns::io_context >() };
89 return { std::shared_ptr< asio_ns::io_context >(
92 []( asio_ns::io_context * ){} )
177 using timer_manager_t =
typename Traits::timer_manager_t;
186 using traits_t = Traits;
195 basic_server_settings_t< D, Traits > && settings )
229 typename Configurator,
238 Configurator && configurator )
266 typename Server_Open_Ok_CB,
267 typename Server_Open_Error_CB >
270 Server_Open_Ok_CB open_ok_cb,
271 Server_Open_Error_CB open_err_cb )
345 typename Server_Close_Ok_CB,
346 typename Server_Close_Error_CB >
349 Server_Close_Ok_CB close_ok_cb,
350 Server_Close_Error_CB close_err_cb )
431 template<
typename Callback >
Helper class for holding shared pointer to io_context.
http_server_t(io_context_holder_t io_context, Configurator &&configurator)
std::shared_ptr< acceptor_t > m_acceptor
Acceptor for new connections.
running_state_t m_running_state
Server state.
cleanup_functor_t m_cleanup_functor
An optional user's cleanup functor.
timer_manager_handle_t m_timer_manager
Timer manager object.
std::enable_if< std::is_same< Parameter_Container, query_string_params_t >::value||std::is_same< Parameter_Container, router::route_params_t >::value, std::optional< Value_Type > >::type opt_value(const Parameter_Container ¶ms, string_view_t key)
Gets the value of a parameter specified by key wrapped in std::optional<Value_Type> if parameter exis...
void open_async(Server_Open_Ok_CB open_ok_cb, Server_Open_Error_CB open_err_cb)
Starts server in async way.
io_context_shared_ptr_t m_context
io_context_holder_t own_io_context()
Function which tells that http_server should create and use its own instance of io_context.
http_server_t(const http_server_t &)=delete
void close_async(Server_Close_Ok_CB close_ok_cb, Server_Close_Error_CB close_err_cb)
Closes server in async way.
asio_ns::io_context & io_context() noexcept
Get io_context on which server runs.
io_context_shared_ptr_t m_io_context
A wrapper for asio io_context where server is running.
void open_sync()
Start server.
io_context_holder_t external_io_context(asio_ns::io_context &ctx)
Function which tells that http_server should use external instance of io_context and should not contr...
running_state_t
State of server.
void close_sync()
Stop server.
io_context_holder_t(io_context_shared_ptr_t context)
void call_cleanup_functor() noexcept
Call a cleanup functor if it is defined.
http_server_t(http_server_t &&)=delete
http_server_t(io_context_holder_t io_context, basic_server_settings_t< D, Traits > &&settings)
virtual ~http_server_t()
It is allowed to inherit from http_server_t.
static void call_nothrow_cb(Callback &&cb) noexcept
Call callback and terminate the application if callback throws.
io_context_shared_ptr_t giveaway_context()