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_ROUTER_H
43#define EXPRESS_ROUTER_H
45#include "express/Next.h"
46#include "express/Request.h"
47#include "express/Response.h"
48#include "express/RootRoute.h"
54#ifndef DOXYGEN_SHOULD_SKIP_THIS
62#define MIDDLEWARE(req, res, next)
63 ([[maybe_unused]] const std::shared_ptr<express::Request>& req,
64 [[maybe_unused]] const std::shared_ptr<express::Response>& res,
65 [[maybe_unused]] express::Next&(next))
67#define APPLICATION(req, res)
68 ([[maybe_unused]] const std::shared_ptr<express::Request>& req, [[maybe_unused]] const std::shared_ptr<express::Response>& res)
70#define DECLARE_ROUTER_REQUESTMETHOD(METHOD)
71 Route& METHOD(const Router& router) const;
72 Route& METHOD(const std::string& relativeMountPath, const Router& router) const;
73 Route& METHOD(const std::function<void(const std::shared_ptr<Request>&, const std::shared_ptr<Response>&)>& lambda) const;
74 Route& METHOD(const std::string& relativeMountPath,
75 const std::function<void(const std::shared_ptr<Request>&, const std::shared_ptr<Response>&)>& lambda) const;
76 Route& METHOD(const std::function<void(const std::shared_ptr<Request>&, const std::shared_ptr<Response>&, Next&)>& lambda) const;
77 Route& METHOD(const std::string& relativeMountPath,
78 const std::function<void(const std::shared_ptr<Request>&, const std::shared_ptr<Response>&, Next&)>& lambda) const;
80 template <typename... Lambdas>
81 Route& METHOD(const std::function<void(const std::shared_ptr<Request>&, const std::shared_ptr<Response>&)>& lambda,
82 Lambdas... lambdas) const;
83 template <typename... Lambdas>
84 Route& METHOD(const std::string& relativeMountPath,
85 const std::function<void(const std::shared_ptr<Request>&, const std::shared_ptr<Response>&)>& lambda,
86 Lambdas... lambdas) const;
87 template <typename... Lambdas>
88 Route& METHOD(const std::function<void(const std::shared_ptr<Request>&, const std::shared_ptr<Response>&, Next&)>& lambda,
89 Lambdas... lambdas) const;
90 template <typename... Lambdas>
91 Route& METHOD(const std::string& relativeMountPath,
92 const std::function<void(const std::shared_ptr<Request>&, const std::shared_ptr<Response>&, Next&)>& lambda,
93 Lambdas... lambdas) const;
125#include "express/Router.hpp"
#define DECLARE_ROUTER_REQUESTMETHOD(METHOD)
#define APPLICATION(req, res)
void strictRouting(bool strictRouting=true) const
Route & head(const Router &router) const
Route & all(const Router &router) const
Route & options(const Router &router) const
Route & connect(const Router &router) const
Route & post(const Router &router) const
Route & del(const Router &router) const
Router(const Router &)=default
Route & use(const Router &router) const
Route & get(const Router &router) const
Route & trace(const Router &router) const
Route & patch(const Router &router) const
Route & put(const Router &router) const
std::shared_ptr< RootRoute > rootRoute
WebAppT(const std::string &name, const Router &router)
WebAppT(const std::string &name)
static void init(int argc, char *argv[])
static core::TickStatus tick(const utils::Timeval &timeOut=0)
static core::State state()
static int start(const utils::Timeval &timeOut={LONG_MAX, 0})
WebApp(const Router &router)
int main(int argc, char *argv[])