Fix router in regards to empty url segments

This commit is contained in:
Alex Hultman
2020-04-20 00:12:56 +02:00
parent 63ee4fdd21
commit c1a969cedd
2 changed files with 61 additions and 17 deletions
+36 -2
View File
@@ -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();
}
}