Router

namespace HTTPServer
class Router

Public Functions

void addRoute(const std::string&, const std::string&, RequestHandler)
void addStaticDirectoryRoute(const std::string&, const std::string&)
HttpResponse route(HttpRequest&) const

Public Static Functions

static Router &instance()

Private Functions

Router() = default
~Router() = default
Router(const Router&) = delete
Router &operator=(const Router&) = delete
Router(Router&&) = delete
Router &operator=(Router&&) = delete

Private Members

std::unordered_map<std::string, MethodMatchers> d_matchers
struct MethodMatchers

Public Members

std::vector<std::unique_ptr<IRouteMatcher>> exact
std::vector<std::unique_ptr<IRouteMatcher>> dynamic
std::vector<std::unique_ptr<IRouteMatcher>> wildcard