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#include "express/dispatcher/MiddlewareDispatcher.h"
44#include "express/Next.h"
45#include "express/Request.h"
46#include "express/Route.h"
47#include "express/dispatcher/regex_utils.h"
49#ifndef DOXYGEN_SHOULD_SKIP_THIS
51#include "log/Logger.h"
60 const std::function<
void(
const std::shared_ptr<
Request>&,
const std::shared_ptr<
Response>&, express::
Next&)>& lambda)
65 bool requestMatched =
false;
79 mountPoint
.method == requestMethod
85 requestUrl == absoluteMountPath
90 requestPath.starts_with(absoluteMountPath)
101 requestUrl.starts_with(absoluteMountPath)
109 LOG(TRACE) <<
"Express: M - AbsoluteMountPath: " << absoluteMountPath;
112 if (requestMatched) {
113 LOG(TRACE) <<
" MATCH";
123 LOG(TRACE) <<
"Express: M - Next called - set to NO MATCH";
124 requestMatched =
false;
128 LOG(TRACE) <<
" NO MQTCH";
132 return requestMatched;
135 std::list<std::string>
137 std::list<std::string> routes{
"M " + parentMountPath + mountPoint
.relativeMountPath + (!strictRouting ?
"*" :
"")};
const std::shared_ptr< Request > & getRequest()
bool getStrictRouting() const
Controller & operator=(const Controller &controller) noexcept
const std::shared_ptr< Response > & getResponse()
std::shared_ptr< Route > nextRoute
Next(Controller &controller)
std::list< std::string > getRoute(const std::string &parentMountPath, bool strictRouting) const
bool dispatch(express::Controller &controller, const std::string &parentMountPath, const express::MountPoint &mountPoint) override
MiddlewareDispatcher(const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, express::Next &)> &lambda)
std::list< std::string > getRoutes(const std::string &parentMountPath, const MountPoint &mountPoint, bool strictRouting) const override
const std::function< void(const std::shared_ptr< Request > &, const std::shared_ptr< Response > &, express::Next &)> lambda
bool checkForUrlMatch(const std::string &cpath, const std::string &reqpath)
void setParams(const std::string &cpath, express::Request &req)
bool hasResult(const std::string &cpath)
std::string relativeMountPath