Mholloway has uploaded a new change for review. https://gerrit.wikimedia.org/r/266301
Change subject: Update RESTBase URI from rest.wikimedia.org to /api/rest_v1/ ...................................................................... Update RESTBase URI from rest.wikimedia.org to /api/rest_v1/ Since (a) it's being deprecated, and (b) switching will provide benefits including better performance from geo-distributed caching, no additional DNS lookups, and sharing of TLS / HTTP2 connections. Change-Id: I6d703b627fc22a0bfe7c27b32efa54ef0e10b5cf --- M config.dev.yaml M config.prod.yaml M lib/parsoid-access.js M routes/definition.js M routes/media.js M routes/mobile-sections.js M routes/mobile-summary.js 7 files changed, 15 insertions(+), 18 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/mobileapps refs/changes/01/266301/1 diff --git a/config.dev.yaml b/config.dev.yaml index 79b6e7c..46d2310 100644 --- a/config.dev.yaml +++ b/config.dev.yaml @@ -59,6 +59,5 @@ # - if-match # - user-agent # - x-request-id - restbase_uri: https://restbase.wikimedia.org # whether to print extra debug info debug: true diff --git a/config.prod.yaml b/config.prod.yaml index 81dd8d3..d32b36e 100644 --- a/config.prod.yaml +++ b/config.prod.yaml @@ -33,6 +33,5 @@ port: 6927 # interface: localhost # uncomment to only listen on localhost # more per-service config settings - restbase_uri: https://restbase.wikimedia.org # whether to print extra debug info debug: false diff --git a/lib/parsoid-access.js b/lib/parsoid-access.js index 6340b5b..fd6a410 100644 --- a/lib/parsoid-access.js +++ b/lib/parsoid-access.js @@ -64,7 +64,6 @@ /** * @param {Logger} logger the logger instance to use - * @param {string} restbase_uri the base URI for restbase as configured * @param {string} domain the wikipedia domain (e.g. "en.wikipedia.org") * @param {string} title the article title * @param {int, optional} revision the revision of the page to request @@ -73,9 +72,9 @@ * {Object} orig the original request domain and title * @return {promise} a Promise, which if fulfilled, will return the Parsoid content of the given page. */ -function getContent(logger, restbase_uri, domain, title, revision, opts) { - var uri = restbase_uri + '/' + domain.replace(/^(\w+\.)m\./, '$1') - + '/v1/page/html/' + encodeURIComponent(title); +function getContent(logger, domain, title, revision, opts) { + var uri = 'https://' + domain.replace(/^(\w+\.)m\./, '$1') + + '/api/rest_v1/page/html/' + encodeURIComponent(title); if (!opts && revision && revision.constructor === Object) { opts = revision; revision = undefined; @@ -104,9 +103,9 @@ }).then(function(response) { mwapi.checkResponseStatus(response); if (hasRedirectResponseStatus(response)) { - return getContent(logger, restbase_uri, domain, getRedirectTitleFromLocationHeader(response), null, opts); + return getContent(logger, domain, getRedirectTitleFromLocationHeader(response), null, opts); } else if (hasRedirectInPayload(response.body)) { - return getContent(logger, restbase_uri, domain, getRedirectTitleFromPayload(response.body), null, opts); + return getContent(logger, domain, getRedirectTitleFromPayload(response.body), null, opts); } else { return response; } @@ -167,8 +166,8 @@ } /** Returns a promise to retrieve the page content from Parsoid */ -function pageContentPromise(logger, restbase_uri, domain, title, revision) { - return getContent(logger, restbase_uri, domain, title, revision) +function pageContentPromise(logger, domain, title, revision) { + return getContent(logger, domain, title, revision) .then(function (response) { var page = { revision: getRevisionFromEtag(response.headers) }; var doc = domino.createDocument(response.body); @@ -184,7 +183,7 @@ /** Returns a promise to retrieve a set of definitions parsed from Wiktionary Parsoid HTML, or throws 501 if requesting from an unsupported Wiktionary domain. */ -function definitionPromise(logger, restbase_uri, domain, term, revision) { +function definitionPromise(logger, domain, term, revision) { if (domain.indexOf('en') !== 0) { throw new sUtil.HTTPError({ status: 501, @@ -193,7 +192,7 @@ detail: 'The language you have requested is not yet supported.' }); } - return getContent(logger, restbase_uri, domain, term, revision) + return getContent(logger, domain, term, revision) .then(function (response) { var doc = domino.createDocument(response.body); transforms.runParsoidDomTransforms(doc); diff --git a/routes/definition.js b/routes/definition.js index a5bc5fa..3b6fa73 100644 --- a/routes/definition.js +++ b/routes/definition.js @@ -25,7 +25,7 @@ * Gets the Wiktionary definition for a given term (and optional revision ID). */ router.get('/definition/:term/:revision?', function (req, res) { - return parsoid.definitionPromise(req.logger, app.conf.restbase_uri, req.params.domain, req.params.term, req.params.revision) + return parsoid.definitionPromise(req.logger, req.params.domain, req.params.term, req.params.revision) .then(function (response) { res.status(200); mUtil.setETag(req, res, response.revision); diff --git a/routes/media.js b/routes/media.js index af56488..4784e65 100644 --- a/routes/media.js +++ b/routes/media.js @@ -24,7 +24,7 @@ */ router.get('/media/:title', function (req, res) { return BBPromise.props({ - page: parsoid.pageContentPromise(req.logger, app.conf.restbase_uri, req.params.domain, req.params.title, req.params.revision), + page: parsoid.pageContentPromise(req.logger, req.params.domain, req.params.title, req.params.revision), media: gallery.collectionPromise(req.logger, req.params.domain, req.params.title) }).then(function (response) { res.status(200); diff --git a/routes/mobile-sections.js b/routes/mobile-sections.js index a9842c6..9b3d486 100644 --- a/routes/mobile-sections.js +++ b/routes/mobile-sections.js @@ -143,7 +143,7 @@ */ router.get('/mobile-sections/:title/:revision?', function (req, res) { return BBPromise.props({ - page: parsoid.pageContentPromise(req.logger, app.conf.restbase_uri, req.params.domain, req.params.title, req.params.revision), + page: parsoid.pageContentPromise(req.logger, req.params.domain, req.params.title, req.params.revision), meta: pageMetadataPromise(req.logger, req.params.domain, req.params.title) }).then(function (response) { if (response.meta.mainpage) { @@ -164,7 +164,7 @@ */ router.get('/mobile-sections-lead/:title/:revision?', function (req, res) { return BBPromise.props({ - page: parsoid.pageContentPromise(req.logger, app.conf.restbase_uri, req.params.domain, req.params.title, req.params.revision), + page: parsoid.pageContentPromise(req.logger, req.params.domain, req.params.title, req.params.revision), meta: pageMetadataPromise(req.logger, req.params.domain, req.params.title), extract: mwapi.requestExtract(req.params.domain, req.params.title) }).then(function (response) { @@ -186,7 +186,7 @@ */ router.get('/mobile-sections-remaining/:title/:revision?', function (req, res) { return BBPromise.props({ - page: parsoid.pageContentPromise(req.logger, app.conf.restbase_uri, req.params.domain, req.params.title, req.params.revision) + page: parsoid.pageContentPromise(req.logger, req.params.domain, req.params.title, req.params.revision) }).then(function (response) { res.status(200); mUtil.setETag(req, res, response.page.revision); diff --git a/routes/mobile-summary.js b/routes/mobile-summary.js index a264d85..cc052c9 100644 --- a/routes/mobile-summary.js +++ b/routes/mobile-summary.js @@ -45,7 +45,7 @@ */ router.get('/mobile-summary/:title', function (req, res) { return BBPromise.props({ - page: parsoid.pageContentPromise(req.logger, app.conf.restbase_uri, req.params.domain, req.params.title, req.params.revision), + page: parsoid.pageContentPromise(req.logger, req.params.domain, req.params.title, req.params.revision), extract: mwapi.requestExtract(req.params.domain, req.params.title) }).then(function (response) { response = buildPreview(response); -- To view, visit https://gerrit.wikimedia.org/r/266301 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I6d703b627fc22a0bfe7c27b32efa54ef0e10b5cf Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/services/mobileapps Gerrit-Branch: master Gerrit-Owner: Mholloway <mhollo...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits