Tweak HTTP handling for POST requests.

Tolerate slightly malformed request URLs (no slash following the host specified), and use a better check when POST-ing to decide the request-body data source.
This commit is contained in:
James Turner
2012-11-17 18:08:38 +00:00
parent 9f31addfa5
commit d1af42e9ad
2 changed files with 10 additions and 7 deletions
+5 -2
View File
@@ -112,8 +112,10 @@ string Request::path() const
}
int hostEnd = u.find('/', schemeEnd + 3);
if (hostEnd < 0) {
return ""; // couldn't parse host
if (hostEnd < 0) {
// couldn't parse host, or URL looks like 'http://foo.com' (no trailing '/')
// fixup to root resource path: '/'
return "/";
}
int query = u.find('?', hostEnd + 1);
@@ -203,6 +205,7 @@ void Request::setFailure(int code, const std::string& reason)
void Request::failed()
{
// no-op in base class
SG_LOG(SG_IO, SG_INFO, "request failed:" << url());
}
Request::HTTPVersion Request::decodeVersion(const string& v)