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"
54 namespace dispatcher {
55 class RouterDispatcher;
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;
80 class RootRoute :
public Route {
82 RootRoute() =
default;
85 bool setStrictRouting(
bool strictRouting);
87 void dispatch(Controller&& controller);
88 void dispatch(Controller& controller);
90 std::shared_ptr<dispatcher::RouterDispatcher> getDispatcher()
const;
91 std::list<Route>& routes()
const;
93 std::list<std::string> getRoutes()
const;
109 friend class Controller;
111 template <
typename Server>
112 friend class WebAppT;
#define DECLARE_ROOTROUTE_REQUESTMETHOD(METHOD)
#define DECLARE_ROUTER_REQUESTMETHOD(METHOD)
static express::Router getRouter()
static WebApp getWebApp(const std::string &name)
static WebApp getWebApp(const std::string &name)
int main(int argc, char *argv[])