Crow  1.1
A C++ microframework for the web
crow::DynamicRule Class Reference

A rule that can change its parameters during runtime. More...

#include <routing.h>

Inheritance diagram for crow::DynamicRule:
crow::BaseRule crow::RuleParameterTraits< DynamicRule >

Public Member Functions

 DynamicRule (std::string rule)
void validate () override
void handle (request &req, response &res, const routing_params &params) override
template<typename Func >
void operator() (Func f)
template<typename Func , unsigned... Indices>
std::function< void(request &, response &, const routing_params &)> wrap (Func f, black_magic::seq< Indices... >)
template<typename Func >
void operator() (std::string name, Func &&f)
- Public Member Functions inherited from crow::BaseRule
 BaseRule (std::string rule)
void set_added ()
bool is_added ()
std::unique_ptr< BaseRuleupgrade ()
virtual void handle_upgrade (const request &, response &res, SocketAdaptor &&)
virtual void handle_upgrade (const request &, response &res, SSLAdaptor &&)
uint32_t get_methods ()
template<typename F >
void foreach_method (F f)
const std::string & rule ()
- Public Member Functions inherited from crow::RuleParameterTraits< DynamicRule >
WebSocketRule< App > & websocket (App *app)
self_tname (std::string name) noexcept
self_tmethods (HTTPMethod method)
self_tmethods (HTTPMethod method, MethodArgs... args_method)
self_tmiddlewares ()
 Enable local middleware for this handler.

Additional Inherited Members

- Public Types inherited from crow::RuleParameterTraits< DynamicRule >
using self_t = DynamicRule
- Public Attributes inherited from crow::BaseRule
std::string custom_templates_base
- Protected Attributes inherited from crow::BaseRule
uint32_t methods_ {1 << static_cast<int>(HTTPMethod::Get)}
std::string rule_
std::string name_
bool added_ {false}
std::unique_ptr< BaseRulerule_to_upgrade_
detail::middleware_indices mw_indices_

Detailed Description

A rule that can change its parameters during runtime.

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