Route Matchers¶
-
namespace HTTPServer
Typedefs
-
using RequestHandler = std::function<HttpResponse(const HttpRequest&)>¶
-
class DynamicRouteMatcher : public HTTPServer::IRouteMatcher¶
Public Functions
-
DynamicRouteMatcher(std::string pattern, RequestHandler handler)¶
-
virtual bool match(const std::string &path, HttpRequest &req) const override¶
-
virtual RequestHandler getHandler() const override¶
-
virtual const std::string &getPattern() const override¶
-
DynamicRouteMatcher(std::string pattern, RequestHandler handler)¶
-
class ExactRouteMatcher : public HTTPServer::IRouteMatcher¶
Public Functions
-
ExactRouteMatcher(std::string pattern, RequestHandler handler)¶
-
virtual bool match(const std::string &path, HttpRequest &req) const override¶
-
virtual RequestHandler getHandler() const override¶
-
virtual const std::string &getPattern() const override¶
-
ExactRouteMatcher(std::string pattern, RequestHandler handler)¶
-
class IRouteMatcher¶
Subclassed by HTTPServer::DynamicRouteMatcher, HTTPServer::ExactRouteMatcher, HTTPServer::WildcardRouteMatcher
Public Functions
-
virtual ~IRouteMatcher() = default¶
-
virtual bool match(const std::string &path, HttpRequest &req) const = 0¶
-
virtual RequestHandler getHandler() const = 0¶
-
virtual const std::string &getPattern() const = 0¶
-
virtual ~IRouteMatcher() = default¶
-
class WildcardRouteMatcher : public HTTPServer::IRouteMatcher¶
Public Functions
-
WildcardRouteMatcher(std::string pattern, RequestHandler handler)¶
-
virtual bool match(const std::string &path, HttpRequest &req) const override¶
-
virtual RequestHandler getHandler() const override¶
-
virtual const std::string &getPattern() const override¶
-
size_t getPrefixLength() const¶
-
WildcardRouteMatcher(std::string pattern, RequestHandler handler)¶
-
using RequestHandler = std::function<HttpResponse(const HttpRequest&)>¶