jenkins-bot has submitted this change and it was merged.

Change subject: mediawiki.api.upload: Correct response handling of 
#uploadWithFormData
......................................................................


mediawiki.api.upload: Correct response handling of #uploadWithFormData

* Reject instead of resolving when API reports errors, like #uploadWithIframe
* Purge bad tokens correctly, like #uploadWithIframe

Change-Id: I42fe6f6e921fe29dd96ce5b75ad61014a7346fc9
---
M resources/src/mediawiki.api/mediawiki.api.upload.js
1 file changed, 12 insertions(+), 4 deletions(-)

Approvals:
  MarkTraceur: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/resources/src/mediawiki.api/mediawiki.api.upload.js 
b/resources/src/mediawiki.api/mediawiki.api.upload.js
index b398f98..c2d6989 100644
--- a/resources/src/mediawiki.api/mediawiki.api.upload.js
+++ b/resources/src/mediawiki.api/mediawiki.api.upload.js
@@ -282,7 +282,18 @@
                        }, false );
 
                        xhr.addEventListener( 'load', function ( e ) {
-                               deferred.resolve( parseXHRResponse( e ) );
+                               var result = parseXHRResponse( e );
+
+                               if ( result.error || result.warnings ) {
+                                       if ( result.error && result.error.code 
=== 'badtoken' ) {
+                                               api.badToken( 'edit' );
+                                       }
+
+                                       deferred.reject( result.error || 
result.warnings );
+                               } else {
+                                       deferred.notify( 1 );
+                                       deferred.resolve( result );
+                               }
                        }, false );
 
                        xhr.addEventListener( 'error', function ( e ) {
@@ -295,9 +306,6 @@
                                this.getEditToken().then( function ( token ) {
                                        formData.append( 'token', token );
                                        xhr.send( formData );
-                               }, function () {
-                                       // Mark the edit token as bad, it's 
been used.
-                                       api.badToken( 'edit' );
                                } );
                        } else {
                                xhr.send( formData );

-- 
To view, visit https://gerrit.wikimedia.org/r/224451
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I42fe6f6e921fe29dd96ce5b75ad61014a7346fc9
Gerrit-PatchSet: 4
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Bartosz DziewoƄski <matma....@gmail.com>
Gerrit-Reviewer: Edokter <er...@darcoury.nl>
Gerrit-Reviewer: Jack Phoenix <j...@countervandalism.net>
Gerrit-Reviewer: MarkTraceur <mtrac...@member.fsf.org>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to