Arlolra has uploaded a new change for review.

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

Change subject: Finally, some cleanup
......................................................................

Finally, some cleanup

Change-Id: Iabb576b0616083502731e26f960400477bd48004
---
M api/routes.js
1 file changed, 24 insertions(+), 30 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/parsoid 
refs/changes/13/164513/1

diff --git a/api/routes.js b/api/routes.js
index dc47e7a..217a26c 100644
--- a/api/routes.js
+++ b/api/routes.js
@@ -34,14 +34,6 @@
 
 // Helpers
 
-var Serializer = parsoidConfig.useSelser ? SelectiveSerializer : 
WikitextSerializer;
-
-var supportedFormats = new Set([ "pagebundle", "html" ]);
-
-function action( res ) {
-       return [ "", res.local('iwp'), res.local('pageName') ].join( "/" );
-}
-
 var promiseTemplateReq = function( env, target, oldid ) {
        return new Promise(function( resolve, reject ) {
                var tpr = new TemplateRequest( env, target, oldid );
@@ -53,20 +45,6 @@
                        }
                });
        });
-};
-
-var errBack = function( env, req, res, logData, callback ) {
-       if ( !env.responseSent) {
-               return new Promise(function( resolve, reject ) {
-                       apiUtils.setHeader( res, env, 'Content-Type', 
'text/plain; charset=UTF-8' );
-                       apiUtils.sendResponse( res, env, logData.fullMsg(), 
logData.code || 500 );
-                       res.on( 'finish', resolve );
-               }).catch(function(e) {
-                       console.error( e.stack || e );
-                       res.end();
-               }).nodify(callback);
-       }
-       return Promise.resolve().nodify(callback);
 };
 
 var roundTripDiff = function( env, req, res, selser, doc ) {
@@ -214,8 +192,9 @@
                        resolve();
                });
        }).then(function() {
-               var doc = DU.parseHTML( html.replace(/\r/g, '') );
-               var serializer = new Serializer({ env: env, oldid: env.page.id 
});
+               var doc = DU.parseHTML( html.replace(/\r/g, '') ),
+                       Serializer = parsoidConfig.useSelser ? 
SelectiveSerializer : WikitextSerializer,
+                       serializer = new Serializer({ env: env, oldid: 
env.page.id });
                return Promise.promisify( serializer.serializeDOM, false, 
serializer )(
                        doc.body, function( chunk ) { out.push( chunk ); }, 
false
                );
@@ -228,7 +207,7 @@
        });
 };
 
-function wt2html( req, res, wt, v2 ) {
+var wt2html = function( req, res, wt, v2 ) {
        var env = res.local('env'),
                prefix = res.local('iwp'),
                oldid = res.local('oldid'),
@@ -340,7 +319,8 @@
        return p.catch(function( err ) {
                env.log("fatal/request", err);
        });
-}
+};
+
 
 // Middlewares
 
@@ -352,6 +332,19 @@
 };
 
 routes.parserEnvMw = function( req, res, next ) {
+       function errBack( env, logData, callback ) {
+               if ( !env.responseSent) {
+                       return new Promise(function( resolve, reject ) {
+                               apiUtils.setHeader( res, env, 'Content-Type', 
'text/plain; charset=UTF-8' );
+                               apiUtils.sendResponse( res, env, 
logData.fullMsg(), logData.code || 500 );
+                               res.on( 'finish', resolve );
+                       }).catch(function(e) {
+                               console.error( e.stack || e );
+                               res.end();
+                       }).nodify(callback);
+               }
+               return Promise.resolve().nodify(callback);
+       }
        Promise.promisify( MWParserEnv.getParserEnv, false, MWParserEnv )(
                parsoidConfig,
                null,
@@ -359,14 +352,15 @@
                res.local('pageName'),
                req.headers.cookie
        ).then(function( env ) {
-               env.logger.registerBackend(/fatal(\/.*)?/, errBack.bind(this, 
env, req, res));
+               env.logger.registerBackend(/fatal(\/.*)?/, errBack.bind(this, 
env));
                res.local('env', env);
                next();
        }).catch(function( err ) {
-               errBack( {}, req, res, new LogData(null, "error", err) );
+               errBack( {}, new LogData(null, "error", err) );
        });
 };
 
+var supportedFormats = new Set([ "pagebundle", "html" ]);
 routes.v2Middle = function( req, res, next ) {
        function errOut(err) {
                // FIXME: provide more consistent error handling.
@@ -442,7 +436,7 @@
        var env = res.local('env');
        apiUtils.renderResponse(res, env, "form", {
                title: "Your HTML DOM:",
-               action: action(res),
+               action: "/" + res.local('iwp') + "/" + res.local('pageName'),
                name: "html"
        });
 };
@@ -452,7 +446,7 @@
        var env = res.local('env');
        apiUtils.renderResponse(res, env, "form", {
                title: "Your wikitext:",
-               action: action(res),
+               action: "/" + res.local('iwp') + "/" + res.local('pageName'),
                name: "wt"
        });
 };

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iabb576b0616083502731e26f960400477bd48004
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/parsoid
Gerrit-Branch: master
Gerrit-Owner: Arlolra <[email protected]>

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

Reply via email to