Mobrovac has submitted this change and it was merged. Change subject: Fix export bug where Zotero fails to export ......................................................................
Fix export bug where Zotero fails to export Caused internal server errors when Zotero returned a non-200 response code due to incorrect arg being passed to reject() and cr.logger being called, which was undefined. Bug: T102534 Change-Id: I349fa70abe699def16b08d34d8875bd561168cab --- M lib/CitoidRequest.js M lib/CitoidService.js M lib/Exporter.js 3 files changed, 13 insertions(+), 17 deletions(-) Approvals: Mobrovac: Looks good to me, approved jenkins-bot: Verified diff --git a/lib/CitoidRequest.js b/lib/CitoidRequest.js index a7cdbcc..baea288 100644 --- a/lib/CitoidRequest.js +++ b/lib/CitoidRequest.js @@ -14,6 +14,7 @@ function CitoidRequest(req, app) { this.request = req; + this.logger = req.logger || app.logger; this.response = new CitoidResponse(); // Prepare an empty response diff --git a/lib/CitoidService.js b/lib/CitoidService.js index 4737385..f6323de 100644 --- a/lib/CitoidService.js +++ b/lib/CitoidService.js @@ -38,7 +38,7 @@ /** * Requests to the citoid service - * @param {Object} cr CitoidRequest object + * @param {Object} cr CitoidRequest object * @returns {Object} BBPromise for CitoidRequest object */ CitoidService.prototype.request = function(cr) { @@ -54,8 +54,8 @@ /** * Promise for adding correct response function given input type - * @param {Object} cr CitoidRequest object with new getResponse function added as a property - * @return {Object} BBPromise object for modified CitoidRequest object from input + * @param {Object} cr CitoidRequest object with new getResponse function added as a property + * @return {Object} BBPromise object for modified CitoidRequest object from input */ CitoidService.prototype.addResponseFunction = BBPromise.method(function(cr){ var search = cr.search; @@ -127,8 +127,8 @@ /** * Promise of requested citation metadata from a URL - * @param {Object} cr CitoidRequest object with new getResponse function added as a property - * @return {Object} BBPromise object for modified CitoidRequest object from input + * @param {Object} cr CitoidRequest object with new getResponse function added as a property + * @return {Object} BBPromise object for modified CitoidRequest object from input */ CitoidService.prototype.requestFromURL = function(cr) { @@ -152,7 +152,7 @@ if (response) { self.stats.increment('zotero.req.' + Math.floor(response.status / 100) + 'xx'); if (response.status === 200){ - logger.log('debug/zotero', "Successfully retrieved and translated body from Zotero"); + logger.log('debug/zotero', "Successfully retrieved body from Zotero"); cr.setCitation(null, 200, response.body); return cr; } else { @@ -310,8 +310,8 @@ /** * Requests citation metadata from a PMID or PMCID identifier. - * @param {Object} cr CitoidRequest object with pm(c)id, type and format - * @returns {Object} BBPromise for CitoidRequest object + * @param {Object} cr CitoidRequest object with pm(c)id, type and format + * @returns {Object} BBPromise for CitoidRequest object */ CitoidService.prototype.requestFromPM = function(cr){ @@ -377,8 +377,8 @@ /** * Scrape and export to Zotero translator if nessecary - * @param {Object} opts options object containing export format - * @returns {Object} BBPromise for CitoidRequest object + * @param {Object} cr CitoidRequest object + * @return {Object} BBPromise for CitoidRequest object */ CitoidService.prototype.scrape = function(cr){ diff --git a/lib/Exporter.js b/lib/Exporter.js index ace61fb..1bdccda 100644 --- a/lib/Exporter.js +++ b/lib/Exporter.js @@ -100,7 +100,7 @@ citation = fixAccessDate(citation); // Run on cr for export failure - function reject(cr, response){ + function reject(cr){ var format = cr.format; var message = "Unable to serve " + format + " format at this time"; var error = {Error: message}; @@ -113,12 +113,7 @@ return zoteroService.zoteroExportRequest([citation], cr.format).then( function(response){ - var zotResCode = response.status; - var body = response.body; - if (zotResCode !== 200){ - return reject(response); - } - // Don't set response code; could be 520 or 200 + // Don't reset response code; could be 520 or 200 cr.response.body = response.body.toString(); return cr; }, -- To view, visit https://gerrit.wikimedia.org/r/218375 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I349fa70abe699def16b08d34d8875bd561168cab Gerrit-PatchSet: 5 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