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

Change subject: Add User-Agent header to API requests.
......................................................................


Add User-Agent header to API requests.

Change-Id: I267744a458a96d8fdd01a255078f68c3e1078659
---
M lib/api.js
A lib/headers.js
M lib/image.js
M lib/parsoid.js
4 files changed, 17 insertions(+), 4 deletions(-)

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



diff --git a/lib/api.js b/lib/api.js
index 62529f3..ccdeb8e 100644
--- a/lib/api.js
+++ b/lib/api.js
@@ -3,6 +3,7 @@
 require('core-js/shim');
 var Promise = require('prfun');
 
+var headers = require('./headers');
 var querystring = require('querystring');
 var request = Promise.promisify(require('./retry-request'), true);
 var url = require('url');
@@ -26,8 +27,8 @@
                apiURL = 'https:' + apiURL;
        }
        apiURL = url.resolve(apiURL + '/', 'api.php') + '?' + 
querystring.stringify(queryobj);
-       
-       return request({ url: apiURL, encoding: 'utf8', pool: false, log: 
this.log }).
+
+       return request({ url: apiURL, encoding: 'utf8', headers: headers, pool: 
false, log: this.log }).
                spread(function(response, body) {
                        if (response.statusCode !== 200) {
                                throw new Error('Unexpected HTTP status: ' +
diff --git a/lib/headers.js b/lib/headers.js
new file mode 100644
index 0000000..d0851f5
--- /dev/null
+++ b/lib/headers.js
@@ -0,0 +1,9 @@
+// Request headers for API/Parsoid/RESTBase requests
+"use strict";
+require('core-js/shim');
+var packageJson = require('../package.json');
+
+// These are the headers we will send with every API request.
+module.exports = {
+       'User-Agent': [packageJson.name, packageJson.version].join('/')
+};
diff --git a/lib/image.js b/lib/image.js
index 13e9a50..ae8323b 100644
--- a/lib/image.js
+++ b/lib/image.js
@@ -4,6 +4,7 @@
 var Promise = require('prfun');
 
 var fs = require('fs');
+var headers = require('./headers');
 var path = require('path');
 var tmp = require('tmp');
 
@@ -152,7 +153,7 @@
        };
 
        var doRequest = function(retries) {
-               return rrequest({ url: realURL, encoding: null, pool: false, 
log: log, stream: true }).spread(function(inStream, req) {
+               return rrequest({ url: realURL, encoding: null, headers: 
headers, pool: false, log: log, stream: true }).spread(function(inStream, req) {
                        return mkOutStream().then(function(outStream) {
                                return new Promise(function(resolve, reject) {
                                        outStream.on('error', 
reject).on(FINISH, resolve);
diff --git a/lib/parsoid.js b/lib/parsoid.js
index 4d78d2a..d6e5081 100644
--- a/lib/parsoid.js
+++ b/lib/parsoid.js
@@ -5,6 +5,7 @@
 
 var domino = require('domino');
 var fs = require('fs');
+var headers = require('./headers');
 var path = require('path');
 var request = require('./retry-request');
 var url = require('url');
@@ -216,7 +217,7 @@
        }
 
        var apiURL = findApiUrl('GET', this.apiVersion, this.wikis[wiki], 
title, revid);
-       request({ url: apiURL.url, encoding: 'utf8', pool: false, log: this.log 
}, function(error, response, body) {
+       request({ url: apiURL.url, encoding: 'utf8', headers: headers, pool: 
false, log: this.log }, function(error, response, body) {
                if (error || response.statusCode !== 200) {
                        deferred.reject('Error fetching '+apiURL.api+' result: 
' + apiURL.url);
                } else {
@@ -242,6 +243,7 @@
                        url: apiURL.url,
                        method: 'POST',
                        encoding: 'utf8',
+                       headers: headers,
                        pool: false,
                        log: this.log,
                        form: (apiURL.api==='parsoid1' ? { wt: wikitext, body: 
true } :

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I267744a458a96d8fdd01a255078f68c3e1078659
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Collection/OfflineContentGenerator/bundler
Gerrit-Branch: master
Gerrit-Owner: Cscott <[email protected]>
Gerrit-Reviewer: Arlolra <[email protected]>
Gerrit-Reviewer: Cscott <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to