Electroneum
Public Types | Public Member Functions | Private Attributes | List of all members
crow::Crow< Middlewares > Class Template Reference

#include <crow.h>

Collaboration diagram for crow::Crow< Middlewares >:
Collaboration graph
[legend]

Public Types

using self_t = Crow
 
using server_t = Server< Crow, SocketAdaptor, Middlewares... >
 
using context_t = detail::context< Middlewares... >
 

Public Member Functions

 Crow ()
 
template<typename Adaptor >
void handle_upgrade (const request &req, response &res, Adaptor &&adaptor)
 
void handle (const request &req, response &res)
 
DynamicRuleroute_dynamic (std::string &&rule)
 
template<uint64_t Tag>
auto route (std::string &&rule) -> typename std::result_of< decltype(&Router::new_rule_tagged< Tag >)(Router, std::string &&)>::type
 
self_tport (std::uint16_t port)
 
self_tbindaddr (std::string bindaddr)
 
self_tmultithreaded ()
 
self_tconcurrency (std::uint16_t concurrency)
 
void validate ()
 
void run ()
 
void stop ()
 
void debug_print ()
 
template<typename T , typename ... Remain>
self_tssl_file (T &&, Remain &&...)
 
template<typename T >
self_tssl (T &&)
 
template<typename T >
T::context & get_context (const request &req)
 
template<typename T >
Tget_middleware ()
 

Private Attributes

uint16_t port_ = 80
 
uint16_t concurrency_ = 1
 
std::string bindaddr_ = "0.0.0.0"
 
Router router_
 
std::tuple< Middlewares... > middlewares_
 
std::unique_ptr< server_tserver_
 

Member Typedef Documentation

◆ context_t

template<typename ... Middlewares>
using crow::Crow< Middlewares >::context_t = detail::context<Middlewares...>

◆ self_t

template<typename ... Middlewares>
using crow::Crow< Middlewares >::self_t = Crow

◆ server_t

template<typename ... Middlewares>
using crow::Crow< Middlewares >::server_t = Server<Crow, SocketAdaptor, Middlewares...>

Constructor & Destructor Documentation

◆ Crow()

template<typename ... Middlewares>
crow::Crow< Middlewares >::Crow ( )
inline

Member Function Documentation

◆ bindaddr()

template<typename ... Middlewares>
self_t& crow::Crow< Middlewares >::bindaddr ( std::string  bindaddr)
inline

◆ concurrency()

template<typename ... Middlewares>
self_t& crow::Crow< Middlewares >::concurrency ( std::uint16_t  concurrency)
inline

◆ debug_print()

template<typename ... Middlewares>
void crow::Crow< Middlewares >::debug_print ( )
inline

◆ get_context()

template<typename ... Middlewares>
template<typename T >
T::context& crow::Crow< Middlewares >::get_context ( const request req)
inline

◆ get_middleware()

template<typename ... Middlewares>
template<typename T >
T& crow::Crow< Middlewares >::get_middleware ( )
inline

◆ handle()

template<typename ... Middlewares>
void crow::Crow< Middlewares >::handle ( const request req,
response res 
)
inline

◆ handle_upgrade()

template<typename ... Middlewares>
template<typename Adaptor >
void crow::Crow< Middlewares >::handle_upgrade ( const request req,
response res,
Adaptor &&  adaptor 
)
inline

◆ multithreaded()

template<typename ... Middlewares>
self_t& crow::Crow< Middlewares >::multithreaded ( )
inline

◆ port()

template<typename ... Middlewares>
self_t& crow::Crow< Middlewares >::port ( std::uint16_t  port)
inline

◆ route()

template<typename ... Middlewares>
template<uint64_t Tag>
auto crow::Crow< Middlewares >::route ( std::string &&  rule) -> typename std::result_of<decltype(&Router::new_rule_tagged<Tag>)(Router, std::string&&)>::type
inline

◆ route_dynamic()

template<typename ... Middlewares>
DynamicRule& crow::Crow< Middlewares >::route_dynamic ( std::string &&  rule)
inline

◆ run()

template<typename ... Middlewares>
void crow::Crow< Middlewares >::run ( )
inline

◆ ssl()

template<typename ... Middlewares>
template<typename T >
self_t& crow::Crow< Middlewares >::ssl ( T &&  )
inline

◆ ssl_file()

template<typename ... Middlewares>
template<typename T , typename ... Remain>
self_t& crow::Crow< Middlewares >::ssl_file ( T &&  ,
Remain &&  ... 
)
inline

◆ stop()

template<typename ... Middlewares>
void crow::Crow< Middlewares >::stop ( )
inline

◆ validate()

template<typename ... Middlewares>
void crow::Crow< Middlewares >::validate ( )
inline

Member Data Documentation

◆ bindaddr_

template<typename ... Middlewares>
std::string crow::Crow< Middlewares >::bindaddr_ = "0.0.0.0"
private

◆ concurrency_

template<typename ... Middlewares>
uint16_t crow::Crow< Middlewares >::concurrency_ = 1
private

◆ middlewares_

template<typename ... Middlewares>
std::tuple<Middlewares...> crow::Crow< Middlewares >::middlewares_
private

◆ port_

template<typename ... Middlewares>
uint16_t crow::Crow< Middlewares >::port_ = 80
private

◆ router_

template<typename ... Middlewares>
Router crow::Crow< Middlewares >::router_
private

◆ server_

template<typename ... Middlewares>
std::unique_ptr<server_t> crow::Crow< Middlewares >::server_
private

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