2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
42#ifndef EXPRESS_ROOTROUTE_H
43#define EXPRESS_ROOTROUTE_H
45#include "express/Route.h"
59#ifndef DOXYGEN_SHOULD_SKIP_THIS
68#define DECLARE_ROOTROUTE_REQUESTMETHOD(METHOD)
69 Route& METHOD(const RootRoute& rootRoute) const;
70 Route& METHOD(const std::string& relativeMountPath, const RootRoute& rootRoute) const;
71 Route& METHOD(const std::function<void(const std::shared_ptr<Request>&, const std::shared_ptr<Response>&)>& lambda) const;
72 Route& METHOD(const std::string& relativeMountPath,
73 const std::function<void(const std::shared_ptr<Request>&, const std::shared_ptr<Response>&)>& lambda) const;
74 Route& METHOD(const std::function<void(const std::shared_ptr<Request>&, const std::shared_ptr<Response>&, Next&)>& lambda) const;
75 Route& METHOD(const std::string& relativeMountPath,
76 const std::function<void(const std::shared_ptr<Request>&, const std::shared_ptr<Response>&, Next&)>& lambda) const;
112 template <
typename Server>
#define DECLARE_ROOTROUTE_REQUESTMETHOD(METHOD)
#define DECLARE_ROUTER_REQUESTMETHOD(METHOD)
bool caseInsensitiveRouting
const std::shared_ptr< Request > & getRequest()
bool setStrictRouting(bool strictRouting)
Controller(const std::shared_ptr< web::http::server::Request > &request, const std::shared_ptr< web::http::server::Response > &response)
bool getStrictRouting() const
bool setCaseInsensitiveRouting(bool caseInsensitiveRouting)
std::shared_ptr< Response > response
Controller(const Controller &controller)
void setCurrentRoute(Route *currentRoute)
void setRootRoute(RootRoute *rootRoute)
bool getCaseInsensitiveRouting() const
std::shared_ptr< Request > request
Controller & operator=(const Controller &controller) noexcept
const std::shared_ptr< Response > & getResponse()
Next(Controller &controller)
web::http::CiStringMap< std::string > cookies
Request(Request &&) noexcept=delete
Request & operator=(Request &&) noexcept=delete
std::map< std::string, std::string > params
web::http::CiStringMap< std::string > queries
Request(const std::shared_ptr< web::http::server::Request > &request) noexcept
std::shared_ptr< web::http::server::Request > requestBase
Request(Request &)=delete
web::http::CiStringMap< std::string > headers
web::http::CiStringMap< std::string > trailer
Request & operator=(Request &)=delete
std::shared_ptr< web::http::server::Response > responseBase
Response(Response &&) noexcept=delete
Response & operator=(Response &&) noexcept=delete
Response & sendFragment(const char *chunk, std::size_t chunkLen)
Response(const std::shared_ptr< web::http::server::Response > &response) noexcept
Response & status(int status)
Response(Response &)=delete
void send(const char *chunk, std::size_t chunkLen)
Response & operator=(Response &)=delete
web::http::server::SocketContext * getSocketContext() const
bool setCaseInsensitiveRouting(bool caseInsensitiveRouting)
void dispatch(Controller &&controller)
void dispatch(Controller &controller)
bool setStrictRouting(bool strictRouting)
std::list< std::string > getRoutes() const
std::list< Route > & routes() const
std::shared_ptr< dispatcher::RouterDispatcher > getDispatcher() const
const Router & setCaseInsensitiveRouting(bool caseInsensitiveRouting=true) const
const Router & setStrictRouting(bool strictRouting=true) const
Router(const Router &)=default
std::list< std::string > getRoutes() const
std::shared_ptr< RootRoute > rootRoute
VerboseRequest & operator=(const VerboseRequest &)=delete
VerboseRequest(Details details)
VerboseRequest(const VerboseRequest &)=delete
void required(CLI::Option *opt, bool req=true)
constexpr AttributeProxy(const Attribute &attribute)
constexpr Attribute & operator*()
std::map< std::string, std::shared_ptr< void > > attributes
std::string attributeType
constexpr bool setAttribute(const Attribute &attribute, bool overwrite=false)
constexpr bool setAttribute(const Attribute &&attribute, bool overwrite=false)
std::shared_ptr< void > attribute
constexpr bool getAttribute(const std::function< void(Attribute &)> &onFound) const
int main(int argc, char *argv[])
static express::Router getRouter()
static WebApp getWebApp(const std::string &name)
static WebApp getWebApp(const std::string &name)
fixed_string(char const (&)[N]) -> fixed_string< N - 1 >
auto operator<=>(const fixed_string &) const =default
constexpr fixed_string(char const *s)
constexpr operator char const *() const