Yurik has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/253490

Change subject: Suppert multiple vega versions for v1 route
......................................................................

Suppert multiple vega versions for v1 route

Now it is possible to request a graph via
/{domain}/v1/vega2/{format}/...

support vega1 (same as before), vega2, and vega0 for autodetect
autodetect will try v2, if fail, will try to remove "data." for fields, and if
that also fails, will fallback to v1

Change-Id: Icea9eb75a7e72a9d9efadb1bcf7a5473388de90c
---
M routes/graphoid-v1.js
1 file changed, 24 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/graphoid 
refs/changes/90/253490/1

diff --git a/routes/graphoid-v1.js b/routes/graphoid-v1.js
index 9eead15..bc5ff13 100644
--- a/routes/graphoid-v1.js
+++ b/routes/graphoid-v1.js
@@ -76,6 +76,7 @@
     var p = state.request.params,
         format = p.format,
         domain = p.domain,
+        vegaver = p.vegaver,
         title = p.title,
         revid = p.revid,
         id_ext = p.id.split('.', 2),
@@ -98,6 +99,24 @@
     }
     if (format !== 'png') {
         throw new Err('info/param-format', 'req.format');
+    }
+
+
+    if (!vegaver) {
+        vegaver = 'vega1';
+    }
+    switch (vegaver) {
+        default:
+            throw new Err('info/param-vegaver', 'req.vegaver');
+        case 'vega0':
+            state.vegaver = 0;
+            break;
+        case 'vega1':
+            state.vegaver = 1;
+            break;
+        case 'vega2':
+            state.vegaver = 2;
+            break;
     }
 
     if (revid) {
@@ -242,7 +261,7 @@
 function renderOnCanvas(state) {
     var start = Date.now();
     return vega
-        .render(state.domain, state.graphData, 'png', 1, state.response, 
'public, s-maxage=30, max-age=30')
+        .render(state.domain, state.graphData, 'png', state.vegaver, 
state.response, 'public, s-maxage=30, max-age=30')
         .then(function () {
             metrics.endTiming('total.vega', start);
         })
@@ -255,7 +274,7 @@
 /**
  * Main entry point for graphoid
  */
-router.get('/:format/:title/:revid/:id', function(req, res) {
+function renderByHash(req, res) {
 
     var start = Date.now();
     var state = {request: req, response: res};
@@ -300,8 +319,10 @@
             metrics.increment(mx);
             req.logger.log(msg, l);
         });
-});
+}
 
+router.get('/:vegaver/:format/:title/:revid/:id', renderByHash);
+router.get('/:format/:title/:revid/:id', renderByHash);
 
 function init(app) {
 

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Icea9eb75a7e72a9d9efadb1bcf7a5473388de90c
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/graphoid
Gerrit-Branch: master
Gerrit-Owner: Yurik <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to