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 <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits