mirror of
https://github.com/pocoproject/poco.git
synced 2025-02-20 22:31:23 +01:00
improved HTTPClientSession error handling for network errors handling during sending the request
This commit is contained in:
parent
cd67863852
commit
30e26b0d96
@ -164,7 +164,10 @@ protected:
|
||||
|
||||
void setException(const Poco::Exception& exc);
|
||||
/// Stores a clone of the exception.
|
||||
|
||||
|
||||
void clearException();
|
||||
/// Clears the stored exception.
|
||||
|
||||
private:
|
||||
enum
|
||||
{
|
||||
|
@ -163,6 +163,7 @@ void HTTPClientSession::setKeepAliveTimeout(const Poco::Timespan& timeout)
|
||||
|
||||
std::ostream& HTTPClientSession::sendRequest(HTTPRequest& request)
|
||||
{
|
||||
clearException();
|
||||
_pResponseStream = 0;
|
||||
|
||||
bool keepAlive = getKeepAlive();
|
||||
@ -229,6 +230,7 @@ std::ostream& HTTPClientSession::sendRequest(HTTPRequest& request)
|
||||
std::istream& HTTPClientSession::receiveResponse(HTTPResponse& response)
|
||||
{
|
||||
_pRequestStream = 0;
|
||||
if (networkException()) networkException()->rethrow();
|
||||
|
||||
do
|
||||
{
|
||||
|
@ -210,6 +210,13 @@ void HTTPSession::setException(const Poco::Exception& exc)
|
||||
}
|
||||
|
||||
|
||||
void HTTPSession::clearException()
|
||||
{
|
||||
delete _pException;
|
||||
_pException = 0;
|
||||
}
|
||||
|
||||
|
||||
StreamSocket HTTPSession::detachSocket()
|
||||
{
|
||||
StreamSocket oldSocket(_socket);
|
||||
|
Loading…
x
Reference in New Issue
Block a user