NSURLConnection: Set http response status code.
Make XMLHttpRequest.status work. Task-number: QTBUG-38864 Change-Id: Ic691b39a43aeb2ad3cd2e8ffef64c74d02699755 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>bb10
parent
398ae00e84
commit
908de0fb8d
|
|
@ -90,6 +90,7 @@ public:
|
|||
void setHeader(QNetworkRequest::KnownHeaders header, const QVariant &value);
|
||||
void setRawHeader(const QByteArray &headerName, const QByteArray &value);
|
||||
void setError(QNetworkReply::NetworkError errorCode, const QString &errorString);
|
||||
void setAttribute(QNetworkRequest::Attribute code, const QVariant &value);
|
||||
};
|
||||
|
||||
@interface QtNSURLConnectionDelegate : NSObject
|
||||
|
|
@ -140,6 +141,7 @@ QNetworkReplyNSURLConnectionImplPrivate::~QNetworkReplyNSURLConnectionImplPrivat
|
|||
void QNetworkReplyNSURLConnectionImplPrivate::setFinished()
|
||||
{
|
||||
q_func()->setFinished(true);
|
||||
QMetaObject::invokeMethod(q_func(), "finished", Qt::QueuedConnection);
|
||||
}
|
||||
|
||||
void QNetworkReplyNSURLConnectionImplPrivate::setHeader(QNetworkRequest::KnownHeaders header, const QVariant &value)
|
||||
|
|
@ -157,6 +159,11 @@ void QNetworkReplyNSURLConnectionImplPrivate::setError(QNetworkReply::NetworkErr
|
|||
q_func()->setError(errorCode, errorString);
|
||||
}
|
||||
|
||||
void QNetworkReplyNSURLConnectionImplPrivate::setAttribute(QNetworkRequest::Attribute code, const QVariant &value)
|
||||
{
|
||||
q_func()->setAttribute(code, value);
|
||||
}
|
||||
|
||||
void QNetworkReplyNSURLConnectionImpl::readyReadOutgoingData()
|
||||
{
|
||||
Q_D(QNetworkReplyNSURLConnectionImpl);
|
||||
|
|
@ -269,6 +276,9 @@ void QNetworkReplyNSURLConnectionImpl::readyReadOutgoingData()
|
|||
NSString *value = [headers objectForKey:key];
|
||||
replyprivate->setRawHeader(QString::fromNSString(key).toUtf8(), QString::fromNSString(value).toUtf8());
|
||||
}
|
||||
|
||||
int code = [httpResponse statusCode];
|
||||
replyprivate->setAttribute(QNetworkRequest::HttpStatusCodeAttribute, code);
|
||||
} else {
|
||||
if ([aResponse expectedContentLength] != NSURLResponseUnknownLength)
|
||||
replyprivate->setHeader(QNetworkRequest::ContentLengthHeader, [aResponse expectedContentLength]);
|
||||
|
|
@ -317,8 +327,7 @@ void QNetworkReplyNSURLConnectionImpl::readyReadOutgoingData()
|
|||
- (void)connectionDidFinishLoading:(NSURLConnection*)connection
|
||||
{
|
||||
Q_UNUSED(connection)
|
||||
replyprivate->setFinished();
|
||||
QMetaObject::invokeMethod(replyprivate->q_func(), "finished", Qt::QueuedConnection);
|
||||
replyprivate->setFinished();
|
||||
}
|
||||
|
||||
- (BOOL)connectionShouldUseCredentialStorage:(NSURLConnection*)connection
|
||||
|
|
|
|||
Loading…
Reference in New Issue