-/* $Id$
-
-This file is part of libmsphttp
-Copyright © 2008 Mikkosoft Productions, Mikko Rasa
-Distributed under the LGPL
-*/
-
#include <msp/core/except.h>
#include <msp/core/refptr.h>
#include <msp/net/resolve.h>
request = 0;
}
-void Client::connect_finished(int err)
+void Client::connect_finished(const exception *err)
{
if(err)
{
signal_socket_error.emit(err);
- sock->close();
delete request;
request = 0;
}
void Client::data_available()
{
char rbuf[4096];
- unsigned len = sock->read(rbuf, sizeof(rbuf));
+ unsigned len;
+ try
+ {
+ len = sock->read(rbuf, sizeof(rbuf));
+ }
+ catch(const exception &e)
+ {
+ signal_socket_error.emit(&e);
+ return;
+ }
+
+ if(!len)
+ return;
in_buf.append(rbuf, len);
if(!response)
{
signal_response_complete.emit(*response);
- sock->close();
delete request;
request = 0;
}