aboutsummaryrefslogtreecommitdiffstats
path: root/src/kvilib/net/KviHttpRequest.cpp
diff options
context:
space:
mode:
authorGravatar Szymon Tomasz Stefanek2010-12-30 03:00:17 +0000
committerGravatar Szymon Tomasz Stefanek2010-12-30 03:00:17 +0000
commitbaf289d6d1b8d2bc12f60e4a6307ef0ae9f2f950 (patch)
treea857375d4240f5f6b04ec3d8fb17496c47308d11 /src/kvilib/net/KviHttpRequest.cpp
parentupdated docs (diff)
downloadKVIrc-baf289d6d1b8d2bc12f60e4a6307ef0ae9f2f950.tar.gz
KVIrc-baf289d6d1b8d2bc12f60e4a6307ef0ae9f2f950.tar.bz2
KVIrc-baf289d6d1b8d2bc12f60e4a6307ef0ae9f2f950.zip
Some fixes for the http request
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@5271 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/kvilib/net/KviHttpRequest.cpp')
-rw-r--r--src/kvilib/net/KviHttpRequest.cpp31
1 files changed, 19 insertions, 12 deletions
diff --git a/src/kvilib/net/KviHttpRequest.cpp b/src/kvilib/net/KviHttpRequest.cpp
index 14febe034..02dabc3f1 100644
--- a/src/kvilib/net/KviHttpRequest.cpp
+++ b/src/kvilib/net/KviHttpRequest.cpp
@@ -22,10 +22,7 @@
//
//=============================================================================
-//#include <zlib.h>
-
#include "KviHttpRequest.h"
-#include "KviHttpRequestThread.h"
#include "KviLocale.h"
#include "KviNetUtils.h"
#include "KviDnsResolver.h"
@@ -40,6 +37,9 @@
#include <QTimer>
#include <QDir>
#include <QHostAddress>
+#include <QStringList>
+
+//#include <zlib.h>
class KviHttpRequestPrivate
{
@@ -49,6 +49,7 @@ public:
KviDataBuffer * pBuffer;
QTimer * pConnectTimeoutTimer;
KviFile * pFile;
+ unsigned short uPort;
};
@@ -389,13 +390,17 @@ void KviHttpRequest::slotConnectionTimedOut()
emit terminated(false);
}
-bool KviHttpRequest::doConnect()
+void KviHttpRequest::slotSocketHostResolved()
{
- unsigned short uPort = m_url.port();
- if(uPort == 0)
- uPort = m_p->bIsSSL ? 443 : 80;
+ emit contactingHost(QString::fromAscii("%1:%2").arg(m_url.host()).arg(m_p->uPort));
+ emit status(__tr2qs("Contacting host %1 on port %2").arg(m_url.host()).arg(m_p->uPort));
+}
- emit contactingHost(QString::fromAscii("%1:%2").arg(m_url.host()).arg(uPort));
+bool KviHttpRequest::doConnect()
+{
+ m_p->uPort = m_url.port();
+ if(m_p->uPort == 0)
+ m_p->uPort = m_p->bIsSSL ? 443 : 80;
if(m_p->pSocket)
closeSocket();
@@ -406,15 +411,19 @@ bool KviHttpRequest::doConnect()
QObject::connect(m_p->pSocket,SIGNAL(disconnected()),this,SLOT(slotSocketDisconnected()));
QObject::connect(m_p->pSocket,SIGNAL(error(QAbstractSocket::SocketError)),this,SLOT(slotSocketError(QAbstractSocket::SocketError)));
QObject::connect(m_p->pSocket,SIGNAL(readyRead()),this,SLOT(slotSocketReadDataReady()));
+ QObject::connect(m_p->pSocket,SIGNAL(hostFound()),this,SLOT(slotSocketHostResolved()));
+
+ emit resolvingHost(m_url.host());
if(m_p->bIsSSL)
{
static_cast<QSslSocket *>(m_p->pSocket)->setProtocol(QSsl::AnyProtocol);
- static_cast<QSslSocket *>(m_p->pSocket)->connectToHostEncrypted(m_url.host(),uPort);
+ static_cast<QSslSocket *>(m_p->pSocket)->connectToHostEncrypted(m_url.host(),m_p->uPort);
} else {
- m_p->pSocket->connectToHost(m_url.host(),uPort);
+ m_p->pSocket->connectToHost(m_url.host(),m_p->uPort);
}
+
if(m_p->pConnectTimeoutTimer)
{
delete m_p->pConnectTimeoutTimer;
@@ -441,7 +450,6 @@ bool KviHttpRequest::doConnect()
);
*/
- emit status(__tr2qs("Contacting host %1 on port %2").arg(m_url.host()).arg(uPort));
return true;
}
@@ -979,7 +987,6 @@ bool KviHttpRequest::startDnsLookup()
KviQString::sprintf(tmp,__tr2qs("Looking up host %Q"),&(m_url.host()));
emit status(tmp); // FIXME
- emit resolvingHost(m_url.host());
return true;
}