Mobrovac has submitted this change and it was merged.

Change subject: Add ability to set requesting User-Agent
......................................................................


Add ability to set requesting User-Agent

Modify localsettings.js.sample to contain a
userAgent string.

Pass this string to the Scraper.js object
and use this string as the User-Agent in
all outbound requests.

Simplify Object parameters in
ZoteroService.js, CitoidService.js, and
Scraper.js.

Bug: T89757
Change-Id: I7dfa933181118527783da12cdb5b277329aef7dd
---
M lib/CitoidService.js
M lib/Scraper.js
M lib/ZoteroService.js
M localsettings.js.sample
4 files changed, 20 insertions(+), 14 deletions(-)

Approvals:
  Mobrovac: Looks good to me, approved



diff --git a/lib/CitoidService.js b/lib/CitoidService.js
index 3f4deeb..7d5f666 100644
--- a/lib/CitoidService.js
+++ b/lib/CitoidService.js
@@ -3,8 +3,7 @@
  */
 
 /* Import Modules */
-var urlParse = require('url'),
-       util = require('util');
+var urlParse = require('url');
 
 /* Import Local Modules */
 var unshorten = require('./unshorten.js'),
@@ -17,13 +16,10 @@
  * @param {Object} CitoidConfig configuration object
  * @param {Object} logger       bunyan logger object
  */
-function CitoidService(CitoidConfig, logger){
-       this.CitoidConfig = CitoidConfig;
+function CitoidService(citoidConfig, logger){
        this.log = logger;
-       this.zoteroURL = util.format('http://%s:%s/',
-               CitoidConfig.zoteroInterface, 
CitoidConfig.zoteroPort.toString());
-       this.zoteroService = new ZoteroService(this.zoteroURL, logger);
-       this.scraper = new Scraper(CitoidConfig, logger);
+       this.zoteroService = new ZoteroService(citoidConfig, logger);
+       this.scraper = new Scraper(citoidConfig, logger);
 }
 
 /**
diff --git a/lib/Scraper.js b/lib/Scraper.js
index 34e8d8b..57edbab 100644
--- a/lib/Scraper.js
+++ b/lib/Scraper.js
@@ -16,6 +16,7 @@
 
 function Scraper(citoidConfig, logger){
        this.log = logger;
+       this.userAgent = citoidConfig.userAgent || 'Citoid/0.0.0';
 }
 
 /**
@@ -30,6 +31,7 @@
        var chtml,
                log = this.log,
                scraper = this,
+               userAgent = this.userAgent,
                citation = {url: url, title: url};
 
        log.info("Using native scraper on " + url);
@@ -38,6 +40,9 @@
                {
                        url: url,
                        followAllRedirects: true,
+                       headers: {
+                               'User-Agent': userAgent
+                       }
                }, function(error, response, html){
 
                        if (error || !response || response.statusCode !== 200) {
@@ -174,4 +179,4 @@
 }
 
 /**Exports*/
-module.exports = Scraper;
\ No newline at end of file
+module.exports = Scraper;
diff --git a/lib/ZoteroService.js b/lib/ZoteroService.js
index 0cc4a0c..d6df076 100644
--- a/lib/ZoteroService.js
+++ b/lib/ZoteroService.js
@@ -9,13 +9,15 @@
 var    async = require('async'),
        crypto = require('crypto'),
        request = require('request'),
+       util = require('util'),
        pubMedRequest = require('./pubMedRequest.js');
 
-function ZoteroService(zoteroURL, logger){
+function ZoteroService(citoidConfig, logger){
        this.log = logger;
-       this.baseURL = zoteroURL;
-       this.webURL = zoteroURL + 'web';
-       this.exportURL = zoteroURL + 'export';
+       var baseURL = util.format('http://%s:%s/',
+               citoidConfig.zoteroInterface, 
citoidConfig.zoteroPort.toString());
+       this.webURL = baseURL + 'web';
+       this.exportURL = baseURL + 'export';
 }
 
 /**
diff --git a/localsettings.js.sample b/localsettings.js.sample
index f503415..23e60ba 100644
--- a/localsettings.js.sample
+++ b/localsettings.js.sample
@@ -21,7 +21,10 @@
        citoidPort : 1970,
        citoidInterface : 'localhost',
 
-       //Settings for Zotero server
+       // userAgent string for lib/Scraper.js
+       userAgent : null,
+
+       // Settings for Zotero server
        zoteroPort : 1969,
        zoteroInterface : 'localhost',
 };

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I7dfa933181118527783da12cdb5b277329aef7dd
Gerrit-PatchSet: 10
Gerrit-Project: mediawiki/services/citoid
Gerrit-Branch: master
Gerrit-Owner: Mvolz <mv...@wikimedia.org>
Gerrit-Reviewer: Mobrovac <mobro...@wikimedia.org>
Gerrit-Reviewer: Mvolz <mv...@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