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

Change subject: Strip UTF8 BOM so that JSON.parse() doesn't throw
......................................................................


Strip UTF8 BOM so that JSON.parse() doesn't throw

 * request does this if the `json` option is set but we handle our own
   JSON parsing.

Change-Id: I8037248bcabee5dd8f905b8a1a1f59e9ab07ff25
---
M lib/mediawiki.ApiRequest.js
1 file changed, 7 insertions(+), 1 deletion(-)

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



diff --git a/lib/mediawiki.ApiRequest.js b/lib/mediawiki.ApiRequest.js
index 7b1bc73..bc13bfc 100644
--- a/lib/mediawiki.ApiRequest.js
+++ b/lib/mediawiki.ApiRequest.js
@@ -224,7 +224,13 @@
        }
        var data;
        try {
-               data = JSON.parse( body );
+               // Strip the UTF8 BOM since it knowingly breaks parsing.
+               if (body[0] === '\uFEFF') {
+                       this.env.log('warning', 'Stripping a UTF8 BOM. Your 
webserver is' +
+                               ' likely broken.');
+                       body = body.slice(1);
+               }
+               data = JSON.parse(body);
        } catch (e) {
                error = new ParserError( 'Failed to parse the JSON response for 
' +
                                this.reqType );

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I8037248bcabee5dd8f905b8a1a1f59e9ab07ff25
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/parsoid
Gerrit-Branch: master
Gerrit-Owner: Arlolra <abrea...@wikimedia.org>
Gerrit-Reviewer: Cscott <canan...@wikimedia.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