Accept zero length queries
This commit is contained in:
+1
-1
@@ -44,7 +44,7 @@ namespace uWS {
|
|||||||
if (statement.length() && statement[0] == key[0]) {
|
if (statement.length() && statement[0] == key[0]) {
|
||||||
/* Equal sign must be present and not in the end of statement */
|
/* Equal sign must be present and not in the end of statement */
|
||||||
auto equality = statement.find('=');
|
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 statementKey = statement.substr(0, equality);
|
||||||
std::string_view statementValue = statement.substr(equality + 1);
|
std::string_view statementValue = statement.substr(equality + 1);
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
default:
|
default:
|
||||||
|
$(CXX) -std=c++17 -fsanitize=address Query.cpp -o Query
|
||||||
|
./Query
|
||||||
$(CXX) -std=c++17 -fsanitize=address ChunkedEncoding.cpp -o ChunkedEncoding
|
$(CXX) -std=c++17 -fsanitize=address ChunkedEncoding.cpp -o ChunkedEncoding
|
||||||
./ChunkedEncoding
|
./ChunkedEncoding
|
||||||
$(CXX) -std=c++17 -fsanitize=address TopicTree.cpp -o TopicTree
|
$(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