From: jenkins-bot Date: Tue, 29 Mar 2016 22:40:20 +0000 (+0000) Subject: Merge "ApiSandbox: Work around mw.Api treating an empty response as failure" X-Git-Tag: 1.31.0-rc.0~7478 X-Git-Url: http://git.cyclocoop.org/%22%20.%20generer_url_ecrire%28%22articles%22%2C%22id_article=%24ze_article%22%29%20.%20%22?a=commitdiff_plain;h=2e5bd7201395d47f15130fce6db52be80da9334b;hp=a00cef7d9f71fa2f53e683b7630d9ce90915d6be;p=lhc%2Fweb%2Fwiklou.git Merge "ApiSandbox: Work around mw.Api treating an empty response as failure" --- diff --git a/resources/src/mediawiki.special/mediawiki.special.apisandbox.js b/resources/src/mediawiki.special/mediawiki.special.apisandbox.js index a2d106dec7..3cfc52c51b 100644 --- a/resources/src/mediawiki.special/mediawiki.special.apisandbox.js +++ b/resources/src/mediawiki.special/mediawiki.special.apisandbox.js @@ -906,6 +906,15 @@ return xhr; } } ) + .then( null, function ( code, data, result, jqXHR ) { + if ( code !== 'http' ) { + // Not really an error, work around mw.Api thinking it is. + return $.Deferred() + .resolve( result, jqXHR ) + .promise(); + } + return this; + } ) .fail( function ( code, data ) { var details = 'HTTP error: ' + data.exception; $result.empty() diff --git a/resources/src/mediawiki/api.js b/resources/src/mediawiki/api.js index 10e0c56387..64e5976c5c 100644 --- a/resources/src/mediawiki/api.js +++ b/resources/src/mediawiki/api.js @@ -239,11 +239,13 @@ .done( function ( result, textStatus, jqXHR ) { if ( result === undefined || result === null || result === '' ) { apiDeferred.reject( 'ok-but-empty', - 'OK response but empty result (check HTTP headers?)' + 'OK response but empty result (check HTTP headers?)', + result, + jqXHR ); } else if ( result.error ) { var code = result.error.code === undefined ? 'unknown' : result.error.code; - apiDeferred.reject( code, result ); + apiDeferred.reject( code, result, result, jqXHR ); } else { apiDeferred.resolve( result, jqXHR ); }