diff options
author | Morten Johan Sørvig <morten.sorvig@digia.com> | 2013-10-26 13:51:17 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-11-08 14:37:27 +0100 |
commit | fbcad545ce857923c709785cbb44f50c0a4f034c (patch) | |
tree | 6f6abc7abe232c3a354a062a43e1a2bc5e22c4d6 /src/network/access/qnetworkaccessmanager.cpp | |
parent | 2d1bb6d61d5c26a11b65eda5f9625894b794391f (diff) |
NSUrlConnection backend for QNetworkAccessManager
Add support for QNetworkAccessManager https REST on
iOS, without adding a dependency on OpenSSL.
The current limitations are:
- Overriding server certificate trust issues (for
example expired certificates) is not supported.
- Usage on non-gui threads is not supported.
NSurlConnection needs a CoreFoundation-based event
loop, which Qt currently only provides when using
QGuiApplication on the main thread.
Change-Id: Ic6f74591d40c3b2248ab81db12647e432377cd4f
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
Diffstat (limited to 'src/network/access/qnetworkaccessmanager.cpp')
-rw-r--r-- | src/network/access/qnetworkaccessmanager.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/network/access/qnetworkaccessmanager.cpp b/src/network/access/qnetworkaccessmanager.cpp index 101e1a8c25..980b19b7e4 100644 --- a/src/network/access/qnetworkaccessmanager.cpp +++ b/src/network/access/qnetworkaccessmanager.cpp @@ -58,6 +58,10 @@ #include "qnetworkreplydataimpl_p.h" #include "qnetworkreplyfileimpl_p.h" +#if defined(Q_OS_IOS) && defined(QT_NO_SSL) +#include "qnetworkreplynsurlconnectionimpl_p.h" +#endif + #include "QtCore/qbuffer.h" #include "QtCore/qurl.h" #include "QtCore/qvector.h" @@ -1159,6 +1163,12 @@ QNetworkReply *QNetworkAccessManager::createRequest(QNetworkAccessManager::Opera } } +// Use NSURLConnection for https on iOS when OpenSSL is disabled. +#if defined(Q_OS_IOS) && defined(QT_NO_SSL) + if (scheme == QLatin1String("https")) + return new QNetworkReplyNSURLConnectionImpl(this, request, op, outgoingData); +#endif + #ifndef QT_NO_HTTP // Since Qt 5 we use the new QNetworkReplyHttpImpl if (scheme == QLatin1String("http") || scheme == QLatin1String("preconnect-http") |