summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShane Kearns <ext-shane.2.kearns@nokia.com>2012-06-13 16:27:31 (GMT)
committerQt by Nokia <qt-info@nokia.com>2012-06-28 13:22:22 (GMT)
commit3584a3e500971d5669c9e3b6f2c18b1353fb4db6 (patch)
tree7e1d01c9b85d81d44b7fce5ca48c5c32a0c2d79d
parentbab502c41306af30777d0702b26ee244eb544d21 (diff)
downloadQt-3584a3e500971d5669c9e3b6f2c18b1353fb4db6.zip
Qt-3584a3e500971d5669c9e3b6f2c18b1353fb4db6.tar.gz
Qt-3584a3e500971d5669c9e3b6f2c18b1353fb4db6.tar.bz2
Change default Content-Type for http POST to match 4.7.4
Qt 4.7.3 sent no Content-Type header by default. This was fixed independently on 4.8.0 and 4.7.4 branches, with different defaults. Since this is often used for web service logins, the 4.7.4 default of x-www-form-urlencoded seems more likely to work. The warning message is left in place, since not specifying the content type is still an application bug. Task-number: QTBUG-23350 Change-Id: I30bf50fd216ee9894d0168e904cea1ed4251ec68 Reviewed-by: Martin Petersson <Martin.Petersson@nokia.com> (cherry picked from commit 4f578d15fe2ef176f0533c7ff4aea99b17636f85) Reviewed-by: Laszlo Papp <lpapp@kde.org>
-rw-r--r--src/network/access/qhttpnetworkrequest.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/network/access/qhttpnetworkrequest.cpp b/src/network/access/qhttpnetworkrequest.cpp
index e39faae..7d0ce51 100644
--- a/src/network/access/qhttpnetworkrequest.cpp
+++ b/src/network/access/qhttpnetworkrequest.cpp
@@ -159,8 +159,11 @@ QByteArray QHttpNetworkRequestPrivate::header(const QHttpNetworkRequest &request
if (request.d->operation == QHttpNetworkRequest::Post) {
// add content type, if not set in the request
if (request.headerField("content-type").isEmpty()) {
- qWarning("content-type missing in HTTP POST, defaulting to application/octet-stream");
- ba += "Content-Type: application/octet-stream\r\n";
+ //Content-Type is mandatory. We can't say anything about the encoding, but x-www-form-urlencoded is the most likely to work.
+ //This warning indicates a bug in application code not setting a required header.
+ //Note that if using QHttpMultipart, the content-type is set in QNetworkAccessManagerPrivate::prepareMultipart already
+ qWarning("content-type missing in HTTP POST, defaulting to application/x-www-form-urlencoded. Use QNetworkRequest::setHeader() to fix this problem.");
+ ba += "Content-Type: application/x-www-form-urlencoded\r\n";
}
if (!request.d->uploadByteDevice && request.d->url.hasQuery()) {
QByteArray query = request.d->url.encodedQuery();