Fix router in regards to empty url segments
This commit is contained in:
+36
-2
@@ -128,6 +128,40 @@ void testUpgrade() {
|
||||
|
||||
void testBugReports() {
|
||||
std::cout << "TestBugReports" << std::endl;
|
||||
{
|
||||
uWS::HttpRouter<int> r;
|
||||
std::string result;
|
||||
|
||||
r.add({"get"}, "/foo//////bar/baz/qux", [&result](auto *) {
|
||||
result += "MANYSLASH";
|
||||
return false;
|
||||
}, r.MEDIUM_PRIORITY);
|
||||
|
||||
r.add({"get"}, "/foo", [&result](auto *) {
|
||||
result += "FOO";
|
||||
return false;
|
||||
}, r.MEDIUM_PRIORITY);
|
||||
|
||||
r.route("get", "/foo");
|
||||
r.route("get", "/foo/");
|
||||
r.route("get", "/foo//bar/baz/qux");
|
||||
r.route("get", "/foo//////bar/baz/qux");
|
||||
assert(result == "FOOMANYSLASH");
|
||||
}
|
||||
|
||||
{
|
||||
uWS::HttpRouter<int> r;
|
||||
std::string result;
|
||||
|
||||
r.add({"get"}, "/test/*", [&result](auto *) {
|
||||
result += "TEST";
|
||||
return false;
|
||||
}, r.MEDIUM_PRIORITY);
|
||||
|
||||
r.route("get", "/test/");
|
||||
assert(result == "TEST");
|
||||
}
|
||||
|
||||
{
|
||||
uWS::HttpRouter<int> r;
|
||||
std::string result;
|
||||
@@ -293,7 +327,7 @@ void testParameters() {
|
||||
r.route("get", "/candy/lollipop/");
|
||||
r.route("get", "/candy/lollipop");
|
||||
r.route("get", "/candy/");
|
||||
assert(result == "");
|
||||
assert(result == "GLWGPW");
|
||||
}
|
||||
|
||||
int main() {
|
||||
@@ -302,4 +336,4 @@ int main() {
|
||||
testUpgrade();
|
||||
testBugReports();
|
||||
testParameters();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user