QNetworkAccessManager::Operation QNetworkReplyProto::operation() const { QNetworkReply *item = qscriptvalue_cast<QNetworkReply*>(thisObject()); if (item) return item->operation(); return QNetworkAccessManager::HeadOperation; }
QByteArray requestVerb(const QNetworkReply &reply) { switch (reply.operation()) { case QNetworkAccessManager::HeadOperation: return "HEAD"; case QNetworkAccessManager::GetOperation: return "GET"; case QNetworkAccessManager::PutOperation: return "PUT"; case QNetworkAccessManager::PostOperation: return "POST"; case QNetworkAccessManager::DeleteOperation: return "DELETE"; case QNetworkAccessManager::CustomOperation: return reply.request().attribute(QNetworkRequest::CustomVerbAttribute).toByteArray(); case QNetworkAccessManager::UnknownOperation: break; } return QByteArray(); }
void NetworkAccess::error(QNetworkReply::NetworkError code) { // get the QNetworkReply that sent the signal QNetworkReply *networkReply = static_cast<QNetworkReply *>(sender()); if (!networkReply) { qDebug() << "Cannot get sender"; return; } networkReply->deleteLater(); // Ignore HEADs if (networkReply->operation() == QNetworkAccessManager::HeadOperation) return; // report the error in the status bar QMainWindow* mainWindow = static_cast<QMainWindow*>(qApp->topLevelWidgets().first()); if (mainWindow) mainWindow->statusBar()->showMessage( tr("Network error: %1").arg(networkReply->errorString())); qDebug() << "Network error:" << networkReply->errorString() << code; }