Cscott has uploaded a new change for review.
https://gerrit.wikimedia.org/r/57399
Change subject: Allow localsettings.js to enable CORS requests.
......................................................................
Allow localsettings.js to enable CORS requests.
CORS requests allow external apps (like Nell's Wikipedia) to use the
parsoid service.
Change-Id: I43576cabad79985ea4cf1d2da6c2e25f30dddd48
---
M js/api/ParserService.js
M js/api/localsettings.js.example
2 files changed, 13 insertions(+), 3 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Parsoid
refs/changes/99/57399/1
diff --git a/js/api/ParserService.js b/js/api/ParserService.js
index 284aa34..86dc919 100644
--- a/js/api/ParserService.js
+++ b/js/api/ParserService.js
@@ -440,15 +440,18 @@
}
res.end('');
});
- try {
- res.setHeader('Content-Type', 'text/html;
charset=UTF-8');
- // [CSA] allow cross-domain requests (CORS)
+ if (env.conf.parsoid.allowCORS) {
+ // allow cross-domain requests (CORS) so that parsoid
service
+ // can be used by third-party sites
res.setHeader('Access-Control-Allow-Origin', '*');
+ }
+ try {
console.log('starting parsing of ' + req.params[0]);
// FIXME: This does not handle includes or templates
correctly
env.page.src = src;
parser.process( src );
} catch (e) {
+ res.setHeader('Content-Type', 'text/plain;
charset=UTF-8');
console.error( e.stack || e.toString() );
res.send( e.stack || e.toString(), 500 );
}
@@ -554,6 +557,10 @@
if ( req.query.cache ) {
res.setHeader('Cache-Control', 's-maxage=2592000');
}
+ res.setHeader('Content-Type', 'text/html; charset=UTF-8');
+ // [CSA] allow cross-domain requests (CORS)
+ res.setHeader('Access-Control-Allow-Origin', '*');
+
var tpr = new TemplateRequest( env, target, oldid );
tpr.once('src', parse.bind( null, env, req, res, function (
req, res, src, doc ) {
res.end(Util.serializeNode(doc.documentElement));
diff --git a/js/api/localsettings.js.example b/js/api/localsettings.js.example
index 3b0479a..0080429 100644
--- a/js/api/localsettings.js.example
+++ b/js/api/localsettings.js.example
@@ -15,5 +15,8 @@
// Use selective serialization (default false)
//parsoidConfig.useSelser = true;
+
+ // allow cross-domain requests to the API (default false)
+ //parsoidConfig.allowCORS = true;
};
--
To view, visit https://gerrit.wikimedia.org/r/57399
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I43576cabad79985ea4cf1d2da6c2e25f30dddd48
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Parsoid
Gerrit-Branch: master
Gerrit-Owner: Cscott <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits