4#ifndef _Stroika_Framework_WebServer_Router_h_
5#define _Stroika_Framework_WebServer_Router_h_ 1
7#include "Stroika/Frameworks/StroikaPreComp.h"
11#include "Stroika/Foundation/Containers/Sequence.h"
13#include "Stroika/Frameworks/WebServer/CORS.h"
14#include "Stroika/Frameworks/WebServer/Interceptor.h"
15#include "Stroika/Frameworks/WebServer/Request.h"
16#include "Stroika/Frameworks/WebServer/RequestHandler.h"
126 Route (
const function<
bool (
const String& method,
const String& hostRelPath,
const Request& request)>& requestMatcher,
143 optional<pair<RegularExpression, RegularExpression>> fVerbAndPathMatch_;
144 optional<function<bool (
const String& method,
const String& hostRelPath,
const Request& request)>> fRequestMatch_;
172 nonvirtual
Router& operator= (
Router&&)
noexcept =
default;
RegularExpression is a compiled regular expression which can be used to match on a String class.
String is like std::u32string, except it is much easier to use, often much more space efficient,...
A generalization of a vector: a container whose elements are keyed by the natural numbers.
An Iterator<T> is a copyable object which allows traversing the contents of some container....
this represents a HTTP request object for the WebServer module
nonvirtual bool Matches(const Request &request, Sequence< String > *pathRegExpMatches=nullptr) const
nonvirtual Iterator< tuple< RequestHandler, Sequence< String > > > Lookup(const Request &request) const