MarkTraceur has submitted this change and it was merged.
Change subject: Fix error handling in ParserService
......................................................................
Fix error handling in ParserService
Errors during page fetch (404 mainly) were not handled properly any more. This
patch fixes this by properly distinguishing between cache request errors and
original page request errors.
Change-Id: I3ab30654b88f35a2381cc9031ee65b00d27b3c1b
---
M js/api/ParserService.js
1 file changed, 7 insertions(+), 6 deletions(-)
Approvals:
MarkTraceur: Looks good to me, approved
jenkins-bot: Verified
diff --git a/js/api/ParserService.js b/js/api/ParserService.js
index ce9f3b7..3c3f2b7 100644
--- a/js/api/ParserService.js
+++ b/js/api/ParserService.js
@@ -265,10 +265,10 @@
}, finalCB );
};
-function handleCacheRequest (env, req, cb, src, err, cacheSrc) {
- if (err) {
+function handleCacheRequest (env, req, cb, err, src, cacheErr, cacheSrc) {
+ if (cacheErr) {
// No luck with the cache request, just proceed as normal.
- Util.parse(env, cb, null, src);
+ Util.parse(env, cb, err, src);
return;
}
// Extract transclusion and extension content from the DOM
@@ -314,7 +314,7 @@
// env.page.meta.revision.parentid has the predecessor oldid
// See if we can reuse transclusion or extension expansions.
- if (env.conf.parsoid.parsoidCacheURI &&
+ if (!err && env.conf.parsoid.parsoidCacheURI &&
// Don't enter an infinite request loop.
! /only-if-cached/.test(req.headers['cache-control']))
{
@@ -328,9 +328,10 @@
env.page.meta.revision.parentid,
cacheRequest = new libtr.ParsoidCacheRequest(env,
env.page.meta.title, cacheID);
- cacheRequest.once('src', handleCacheRequest.bind(null, env,
req, newCb, env.page.src));
+ cacheRequest.once('src',
+ handleCacheRequest.bind(null, env, req, newCb,
err, env.page.src));
} else {
- handleCacheRequest(env, req, newCb, env.page.src, "Recursive
request", null);
+ handleCacheRequest(env, req, newCb, err, env.page.src,
"Recursive request", null);
}
};
--
To view, visit https://gerrit.wikimedia.org/r/64099
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I3ab30654b88f35a2381cc9031ee65b00d27b3c1b
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Parsoid
Gerrit-Branch: master
Gerrit-Owner: GWicke <[email protected]>
Gerrit-Reviewer: MarkTraceur <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits