fixed #468: HTTPClientSession/HTTPResponse not forwarding exceptions

This commit is contained in:
Guenter Obiltschnig 2014-11-19 21:56:42 +01:00
parent 88b203f483
commit bd9d051e46
3 changed files with 2 additions and 6 deletions

View File

@ -267,17 +267,13 @@ std::istream& HTTPClientSession::receiveResponse(HTTPResponse& response)
{
response.read(his);
}
catch (MessageException&)
catch (Exception&)
{
close();
if (networkException())
networkException()->rethrow();
else
throw;
}
catch (Exception&)
{
close();
throw;
}
}

View File

@ -209,7 +209,6 @@ void HTTPRequest::read(std::istream& istr)
uri.reserve(64);
version.reserve(16);
int ch = istr.get();
if (istr.bad()) throw NetException("Network failure while reading HTTP request header");
if (istr.bad()) throw NetException("Error reading HTTP request header");
if (ch == eof) throw NoMessageException();
while (Poco::Ascii::isSpace(ch)) ch = istr.get();

View File

@ -208,6 +208,7 @@ void HTTPResponse::read(std::istream& istr)
std::string reason;
int ch = istr.get();
if (istr.bad()) throw NetException("Error reading HTTP response header");
if (ch == eof) throw NoMessageException();
while (Poco::Ascii::isSpace(ch)) ch = istr.get();
if (ch == eof) throw MessageException("No HTTP response header");