"docs/git@developer.sourcefind.cn:renzhc/diffusers_dcu.git" did not exist on "c49e9ede4d3b4eb728c489e7bb3f5959f8d3b663"
Commit 2f8a06d5 authored by Davis King's avatar Davis King
Browse files

Made HTTP server parsing work when a query like "GET /" comes in that

is missing the HTTP/1.1 version field.
parent f67cc883
...@@ -130,7 +130,7 @@ namespace dlib ...@@ -130,7 +130,7 @@ namespace dlib
buffer.clear(); buffer.clear();
buffer.reserve(300); buffer.reserve(300);
while (in.peek() != delim && in.peek() != EOF && buffer.size() < max) while (in.peek() != delim && in.peek() != '\n' && in.peek() != EOF && buffer.size() < max)
{ {
buffer += (char)in.get(); buffer += (char)in.get();
} }
...@@ -141,20 +141,12 @@ namespace dlib ...@@ -141,20 +141,12 @@ namespace dlib
if (buffer.size() == max) if (buffer.size() == max)
throw http_parse_error("HTTP field from client is too long", 414); throw http_parse_error("HTTP field from client is too long", 414);
// Make sure the last char is the delim. in.get();
if (in.get() != delim) // eat any remaining whitespace
if (delim == ' ')
{ {
in.setstate(ios::badbit); while (in.peek() == ' ')
buffer.clear(); in.get();
}
else
{
// Read the remaining delimiters
if (delim == ' ')
{
while (in.peek() == ' ')
in.get();
}
} }
} }
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment