2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
20#ifndef EXPRESS_ROUTER_H
21#define EXPRESS_ROUTER_H
23#include "express/Next.h"
24#include "express/Request.h"
25#include "express/Response.h"
26#include "express/RootRoute.h"
32#ifndef DOXYGEN_SHOULD_SKIP_THIS
40#define MIDDLEWARE(req, res, next)
41 ([[maybe_unused]] const std::shared_ptr<express::Request>& req,
42 [[maybe_unused]] const std::shared_ptr<express::Response>& res,
43 [[maybe_unused]] express::Next&(next))
45#define APPLICATION(req, res)
46 ([[maybe_unused]] const std::shared_ptr<express::Request>& req, [[maybe_unused]] const std::shared_ptr<express::Response>& res)
48#define DECLARE_ROUTER_REQUESTMETHOD(METHOD)
49 Route& METHOD(const Router& router) const;
50 Route& METHOD(const std::string& relativeMountPath, const Router& router) const;
51 Route& METHOD(const std::function<void(const std::shared_ptr<Request>&, const std::shared_ptr<Response>&)>& lambda) const;
52 Route& METHOD(const std::string& relativeMountPath,
53 const std::function<void(const std::shared_ptr<Request>&, const std::shared_ptr<Response>&)>& lambda) const;
54 Route& METHOD(const std::function<void(const std::shared_ptr<Request>&, const std::shared_ptr<Response>&, Next&)>& lambda) const;
55 Route& METHOD(const std::string& relativeMountPath,
56 const std::function<void(const std::shared_ptr<Request>&, const std::shared_ptr<Response>&, Next&)>& lambda) const;
58 template <typename... Lambdas>
59 Route& METHOD(const std::function<void(const std::shared_ptr<Request>&, const std::shared_ptr<Response>&)>& lambda,
60 Lambdas... lambdas) const;
61 template <typename... Lambdas>
62 Route& METHOD(const std::string& relativeMountPath,
63 const std::function<void(const std::shared_ptr<Request>&, const std::shared_ptr<Response>&)>& lambda,
64 Lambdas... lambdas) const;
65 template <typename... Lambdas>
66 Route& METHOD(const std::function<void(const std::shared_ptr<Request>&, const std::shared_ptr<Response>&, Next&)>& lambda,
67 Lambdas... lambdas) const;
68 template <typename... Lambdas>
69 Route& METHOD(const std::string& relativeMountPath,
70 const std::function<void(const std::shared_ptr<Request>&, const std::shared_ptr<Response>&, Next&)>& lambda,
71 Lambdas... lambdas) const;
103#include "express/Router.hpp"
#define DECLARE_ROUTER_REQUESTMETHOD(METHOD)
#define APPLICATION(req, res)
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
void laxRouting(bool strict=false)
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[])