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

Reply via email to