Handles matching requests to existing rules and upgrade requests. More...
Classes | |
struct | PerMethod |
Public Member Functions | |
Router () | |
DynamicRule & | new_rule_dynamic (const std::string &rule) |
template<uint64_t N> | |
black_magic::arguments< N >::type::template rebind< TaggedRule > & | new_rule_tagged (const std::string &rule) |
CatchallRule & | catchall_rule () |
void | internal_add_rule_object (const std::string &rule, BaseRule *ruleObject, const uint16_t &BP_index, std::vector< Blueprint * > &blueprints) |
void | register_blueprint (Blueprint &blueprint) |
void | get_recursive_child_methods (Blueprint *blueprint, std::vector< HTTPMethod > &methods) |
void | validate_bp (std::vector< Blueprint * > blueprints) |
void | validate () |
template<typename Adaptor > | |
void | handle_upgrade (const request &req, response &res, Adaptor &&adaptor) |
void | get_found_bp (std::vector< uint16_t > &bp_i, std::vector< Blueprint * > &blueprints, std::vector< Blueprint * > &found_bps, uint16_t index=0) |
std::string | get_error (unsigned short code, std::tuple< uint16_t, std::vector< uint16_t >, routing_params > &found, const request &req, response &res) |
Is used to handle errors, you insert the error code, found route, request, and response. and it'll either call the appropriate catchall route (considering the blueprint system) and send you a status string (which is mainly used for debug messages), or just set the response code to the proper error code. More... | |
void | handle (request &req, response &res) |
void | debug_print () |
std::vector< Blueprint * > & | blueprints () |
Private Attributes | |
CatchallRule | catchall_rule_ |
std::array< PerMethod, static_cast< int >HTTPMethod::InternalMethodCount)> | per_methods_ |
std::vector< std::unique_ptr< BaseRule > > | all_rules_ |
std::vector< Blueprint * > | blueprints_ |
Handles matching requests to existing rules and upgrade requests.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Is used to handle errors, you insert the error code, found route, request, and response. and it'll either call the appropriate catchall route (considering the blueprint system) and send you a status string (which is mainly used for debug messages), or just set the response code to the proper error code.
|
inline |
|
inline |
|
private |
|
private |
|
private |
|
private |