return i1.port == i2.port && i1.host == i2.host;
}
-void QWebNetworkJobPrivate::setURL(const QUrl &u)
+void QWebNetworkRequest::init(const QString &method, const QUrl &url, const WebCore::ResourceRequest *resourceRequest)
+{
+ request = QHttpRequestHeader(method, url.toEncoded(QUrl::RemoveScheme|QUrl::RemoveAuthority));
+ request.setValue(QLatin1String("User-Agent"),
+ QLatin1String("Mozilla/5.0 (PC; U; Intel; Linux; en) AppleWebKit/420+ (KHTML, like Gecko)"));
+ request.setValue(QLatin1String("Connection"), QLatin1String("Keep-Alive"));
+ setURL(url);
+
+ if (resourceRequest) {
+ const QString scheme = url.scheme().toLower();
+ if (scheme == QLatin1String("http") || scheme == QLatin1String("https")) {
+ QString cookies = WebCore::cookies(resourceRequest->url());
+ if (!cookies.isEmpty())
+ request.setValue(QLatin1String("Cookie"), cookies);
+ }
+ }
+}
+
+void QWebNetworkRequest::setURL(const QUrl &u)
{
url = u;
int port = url.port();
request.setValue(QLatin1String("Host"), url.host());
}
-void QWebNetworkJobPrivate::setDefaults(const QString &method, const QUrl &url)
-{
- request = QHttpRequestHeader(method, url.toEncoded(QUrl::RemoveScheme|QUrl::RemoveAuthority));
- request.setValue(QLatin1String("User-Agent"),
- QLatin1String("Mozilla/5.0 (PC; U; Intel; Linux; en) AppleWebKit/420+ (KHTML, like Gecko)"));
- request.setValue(QLatin1String("Connection"), QLatin1String("Keep-Alive"));
- setURL(url);
-}
-
/*!
\class QWebNetworkJob
KURL url = handle->url();
QUrl qurl = QString(url.url());
- job->d->setDefaults(handle->method(), qurl);
+ job->d->init(handle->method(), qurl, &handle->request());
- const QString scheme = qurl.scheme().toLower();
- if (scheme == QLatin1String("http") || scheme == QLatin1String("https")) {
- QString cookies = WebCore::cookies(handle->url());
- if (!cookies.isEmpty())
- job->d->request.setValue(QLatin1String("Cookie"), cookies);
- }
-
const HTTPHeaderMap& loaderHeaders = handle->requestHeaders();
HTTPHeaderMap::const_iterator end = loaderHeaders.end();
for (HTTPHeaderMap::const_iterator it = loaderHeaders.begin(); it != end; ++it)
namespace WebCore {
struct HostInfo;
+ class ResourceRequest;
};
uint qHash(const WebCore::HostInfo &info);
#include <qhash.h>
class ResourceHandle;
}
-class QWebNetworkJobPrivate
+struct QWebNetworkRequest
+{
+ QUrl url;
+ QHttpRequestHeader request;
+ QByteArray postData;
+
+ void init(const QString &method, const QUrl &url, const WebCore::ResourceRequest *resourceRequest = 0);
+ void setURL(const QUrl &u);
+};
+
+class QWebNetworkJobPrivate : public QWebNetworkRequest
{
public:
QWebNetworkJobPrivate()
, connector(0)
{}
int ref;
- QUrl url;
- QHttpRequestHeader request;
- QByteArray postData;
QHttpResponseHeader response;
QWebNetworkInterface *interface;
QWebObjectPluginConnector *connector;
-
- void setURL(const QUrl &u);
- void setDefaults(const QString &method, const QUrl &url);
};
+2007-06-11 Simon Hausmann <hausmann@kde.org>
+
+ Reviewed by Lars.
+
+ Started moving the code to separate a WebCore::ResourceRequest into a QUrl, postData
+ and QHttpRequestHeader into a separate little QWebNetworkRequest struct.
+
+ * Api/qwebnetworkinterface.cpp:
+ (QWebNetworkRequest::init):
+ (QWebNetworkManager::add):
+ * Api/qwebnetworkinterface_p.h:
+ * Api/qwebobjectpluginconnector.cpp:
+ (QWebObjectPluginConnector::requestUrl):
+
2007-06-11 Zack Rusin <zrusin@trolltech.com>
Reviewed by Lars