Arlolra has uploaded a new change for review.
https://gerrit.wikimedia.org/r/188118
Change subject: Better error handling for config requests
......................................................................
Better error handling for config requests
* WikiConf expects resultConf to be null (not {}) to fall back to the
baseConfig.
Change-Id: I30c709fb194531858b6283a804570cf16c359204
---
M lib/mediawiki.ApiRequest.js
M lib/mediawiki.parser.environment.js
2 files changed, 19 insertions(+), 18 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/parsoid
refs/changes/18/188118/1
diff --git a/lib/mediawiki.ApiRequest.js b/lib/mediawiki.ApiRequest.js
index 6b31a3f..faf2b74 100644
--- a/lib/mediawiki.ApiRequest.js
+++ b/lib/mediawiki.ApiRequest.js
@@ -750,24 +750,26 @@
util.inherits( ConfigRequest, ApiRequest );
-ConfigRequest.prototype._handleJSON = function ( error, data ) {
- if ( error ) {
- this._processListeners( error, {} );
- return;
- }
-
- if ( data && data.query ) {
- this._processListeners( null, data.query );
- } else if ( data && data.error ) {
- if ( data.error.code === 'readapidenied' ) {
- error = new AccessDeniedError();
+ConfigRequest.prototype._handleJSON = function( error, data ) {
+ var resultConf = null;
+ if ( !error ) {
+ if ( data && data.query ) {
+ error = null;
+ resultConf = data.query;
+ } else if ( data && data.error ) {
+ if ( data.error.code === 'readapidenied' ) {
+ error = new AccessDeniedError();
+ } else {
+ error = new Error('Something happened on the
API side. Message: ' +
+ data.error.code + ': ' +
data.error.info );
+ }
} else {
- error = new Error( 'Something happened on the API side.
Message: ' + data.error.code + ': ' + data.error.info );
+ error = new Error("Config request returned no
result.\n" +
+ JSON.stringify(data, "\t", 2));
+ error.stack = null;
}
- this._processListeners( error, {} );
- } else {
- this._processListeners( null, {} );
}
+ this._processListeners( error, resultConf );
};
/**
diff --git a/lib/mediawiki.parser.environment.js
b/lib/mediawiki.parser.environment.js
index da42fc6..081e65b 100644
--- a/lib/mediawiki.parser.environment.js
+++ b/lib/mediawiki.parser.environment.js
@@ -299,11 +299,10 @@
* @param {Error} cb.err
*/
MWParserEnvironment.prototype.switchToConfig = function ( prefix, cb ) {
- function setupWikiConfig(env, apiURI, error, config) {
+ function setupWikiConfig(env, apiURI, error, resultConf) {
if ( error === null ) {
- env.conf.wiki = new WikiConfig( config, prefix, apiURI,
env.getAPIProxy(prefix) );
+ env.conf.wiki = new WikiConfig( resultConf, prefix,
apiURI, env.getAPIProxy(prefix) );
env.confCache[prefix] = env.conf.wiki;
-
}
cb( error );
}
--
To view, visit https://gerrit.wikimedia.org/r/188118
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I30c709fb194531858b6283a804570cf16c359204
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/parsoid
Gerrit-Branch: master
Gerrit-Owner: Arlolra <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits