Accept zero length queries
This commit is contained in:
+1
-1
@@ -44,7 +44,7 @@ namespace uWS {
|
||||
if (statement.length() && statement[0] == key[0]) {
|
||||
/* Equal sign must be present and not in the end of statement */
|
||||
auto equality = statement.find('=');
|
||||
if (equality != std::string_view::npos && equality != statement.length() - 1) {
|
||||
if (/*equality != std::string_view::npos && equality != statement.length() - 1*/ true) {
|
||||
|
||||
std::string_view statementKey = statement.substr(0, equality);
|
||||
std::string_view statementValue = statement.substr(equality + 1);
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
default:
|
||||
$(CXX) -std=c++17 -fsanitize=address Query.cpp -o Query
|
||||
./Query
|
||||
$(CXX) -std=c++17 -fsanitize=address ChunkedEncoding.cpp -o ChunkedEncoding
|
||||
./ChunkedEncoding
|
||||
$(CXX) -std=c++17 -fsanitize=address TopicTree.cpp -o TopicTree
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
#include <iostream>
|
||||
#include <cassert>
|
||||
|
||||
#include "../src/QueryParser.h"
|
||||
|
||||
int main() {
|
||||
|
||||
{
|
||||
std::string buf = "?test1=&test2=someValue";
|
||||
assert(uWS::getDecodedQueryValue("test2", (char *) buf.data()) == "someValue");
|
||||
}
|
||||
|
||||
{
|
||||
std::string buf = "?test1=&test2=someValue";
|
||||
assert(uWS::getDecodedQueryValue("test1", (char *) buf.data()) == "");
|
||||
assert(uWS::getDecodedQueryValue("test2", (char *) buf.data()) == "someValue");
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user