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