Skip to content

Commit

Permalink
opt: change ArticleNetworkAccessManager's method createRequest to get…
Browse files Browse the repository at this point in the history
…ArticleReply

createRequest was the parent's protected method ,give the impression that the derived class has override it.

rename it to clacify the misunderstand.
  • Loading branch information
xiaoyifang committed May 18, 2022
1 parent bde86d7 commit d73956b
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 22 deletions.
18 changes: 8 additions & 10 deletions article_netmgr.cc
Original file line number Diff line number Diff line change
Expand Up @@ -150,12 +150,11 @@ using std::string;
return size;
}

QNetworkReply * ArticleNetworkAccessManager::createRequest( Operation op,
QNetworkRequest const & req,
QIODevice * outgoingData )
QNetworkReply * ArticleNetworkAccessManager::getArticleReply( QNetworkRequest const & req )
{
QUrl url;
if ( op == GetOperation )
auto op = GetOperation;
// if ( op == GetOperation )
{
if ( req.url().scheme() == "qrcx" )
{
Expand All @@ -169,7 +168,7 @@ QNetworkReply * ArticleNetworkAccessManager::createRequest( Operation op,
QNetworkRequest newReq( req );
newReq.setUrl( newUrl );

return QNetworkAccessManager::createRequest( op, newReq, outgoingData );
return QNetworkAccessManager::createRequest( op, newReq, nullptr );
}

url=req.url();
Expand Down Expand Up @@ -237,7 +236,7 @@ QNetworkReply * ArticleNetworkAccessManager::createRequest( Operation op,
QNetworkRequest newReq( req );
newReq.setUrl( newUrl );

return QNetworkAccessManager::createRequest( op, newReq, outgoingData );
return QNetworkAccessManager::createRequest( op, newReq, nullptr );
}
}

Expand All @@ -250,7 +249,7 @@ QNetworkReply * ArticleNetworkAccessManager::createRequest( Operation op,
newReq.setRawHeader("User-Agent", req.rawHeader("User-Agent").replace(qApp->applicationName().toUtf8(), ""));
}

QNetworkReply * reply = QNetworkAccessManager::createRequest( op, newReq, outgoingData );
QNetworkReply * reply = QNetworkAccessManager::createRequest( op, newReq, nullptr );

if( url.scheme() == "https")
{
Expand All @@ -260,8 +259,7 @@ QNetworkReply * ArticleNetworkAccessManager::createRequest( Operation op,
#endif
}

return op == QNetworkAccessManager::GetOperation
|| op == QNetworkAccessManager::HeadOperation ? new AllowFrameReply( reply ) : reply;
return new AllowFrameReply( reply );
}

sptr< Dictionary::DataRequest > ArticleNetworkAccessManager::getResource(
Expand Down Expand Up @@ -528,7 +526,7 @@ void LocalSchemeHandler::requestStarted(QWebEngineUrlRequestJob *requestJob)
QNetworkRequest request;
request.setUrl( url );

QNetworkReply * reply = this->mManager.createRequest( QNetworkAccessManager::GetOperation, request );
QNetworkReply * reply = this->mManager.getArticleReply( request );
connect( reply, &QNetworkReply::finished, requestJob, [ = ]() { requestJob->reply( "text/html", reply ); } );
connect( requestJob, &QObject::destroyed, reply, &QObject::deleteLater );
}
16 changes: 5 additions & 11 deletions article_netmgr.hh
Original file line number Diff line number Diff line change
Expand Up @@ -122,11 +122,7 @@ public:
sptr< Dictionary::DataRequest > getResource( QUrl const & url,
QString & contentType );

// protected:

virtual QNetworkReply * createRequest( Operation op,
QNetworkRequest const & req,
QIODevice * outgoingData = nullptr);
virtual QNetworkReply * getArticleReply( QNetworkRequest const & req );

};

Expand Down Expand Up @@ -202,18 +198,16 @@ private slots:
void finishedSlot();
};


class LocalSchemeHandler : public QWebEngineUrlSchemeHandler
{
Q_OBJECT
Q_OBJECT
public:
LocalSchemeHandler(ArticleNetworkAccessManager &articleNetMgr);
void requestStarted(QWebEngineUrlRequestJob *requestJob);
LocalSchemeHandler( ArticleNetworkAccessManager & articleNetMgr );
void requestStarted( QWebEngineUrlRequestJob * requestJob );

protected:

private:
ArticleNetworkAccessManager& mManager;
ArticleNetworkAccessManager & mManager;
QNetworkAccessManager mgr;
};
#endif
2 changes: 1 addition & 1 deletion resourceschemehandler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ void ResourceSchemeHandler::requestStarted(QWebEngineUrlRequestJob *requestJob)
QNetworkRequest request;
request.setUrl(url);
request.setAttribute(QNetworkRequest::CacheLoadControlAttribute, QNetworkRequest::PreferCache);
QNetworkReply *reply = this->mManager.createRequest(QNetworkAccessManager::GetOperation, request);
QNetworkReply *reply = this->mManager.getArticleReply( request);
connect(reply, &QNetworkReply::finished, requestJob, [=]() {
if (reply->error() == QNetworkReply::ContentNotFoundError) {
requestJob->fail(QWebEngineUrlRequestJob::UrlNotFound);
Expand Down

0 comments on commit d73956b

Please sign in to comment.