mirror of
https://github.com/ether/etherpad-lite.git
synced 2025-02-08 19:22:02 +01:00
![muxator](/assets/img/avatar_default.png)
This change is only cosmetic. Its aim is do make it easier to understand the async changes that are going to be merged later on. It was extracted from the original work from Ray Bellis. To verify that nothing has changed, you can run the following command on each file touched by this commit: npm install uglify-es diff --unified <(uglify-js --beautify bracketize <BEFORE.js>) <(uglify-js --beautify bracketize <AFTER.js>) This is a complete script that does the same automatically (works from a mercurial clone): ```bash #!/usr/bin/env bash set -eu REVISION=<THIS_REVISION> PARENT_REV=$(hg identify --rev "${REVISION}" --template '{p1rev}') FILE_LIST=$(hg status --no-status --change ${REVISION}) UGLIFYJS="node_modules/uglify-es/bin/uglifyjs" for FILE_NAME in ${FILE_LIST[@]}; do echo "Checking ${FILE_NAME}" diff --unified \ <("${UGLIFYJS}" --beautify bracketize <(hg cat --rev "${PARENT_REV}" "${FILE_NAME}")) \ <("${UGLIFYJS}" --beautify bracketize <(hg cat --rev "${REVISION}" "${FILE_NAME}")) done ```
57 lines
1.5 KiB
JavaScript
57 lines
1.5 KiB
JavaScript
var async = require('async');
|
|
var ERR = require("async-stacktrace");
|
|
var readOnlyManager = require("../../db/ReadOnlyManager");
|
|
var hasPadAccess = require("../../padaccess");
|
|
var exporthtml = require("../../utils/ExportHtml");
|
|
|
|
exports.expressCreateServer = function (hook_name, args, cb) {
|
|
// serve read only pad
|
|
args.app.get('/ro/:id', function(req, res) {
|
|
var html;
|
|
var padId;
|
|
|
|
async.series([
|
|
// translate the read only pad to a padId
|
|
function(callback) {
|
|
readOnlyManager.getPadId(req.params.id, function(err, _padId) {
|
|
if(ERR(err, callback)) return;
|
|
|
|
padId = _padId;
|
|
|
|
// we need that to tell hasPadAcess about the pad
|
|
req.params.pad = padId;
|
|
|
|
callback();
|
|
});
|
|
},
|
|
// render the html document
|
|
function(callback) {
|
|
// return if the there is no padId
|
|
if(padId == null) {
|
|
callback("notfound");
|
|
return;
|
|
}
|
|
|
|
hasPadAccess(req, res, function() {
|
|
// render the html document
|
|
exporthtml.getPadHTMLDocument(padId, null, function(err, _html) {
|
|
if(ERR(err, callback)) return;
|
|
html = _html;
|
|
callback();
|
|
});
|
|
});
|
|
}
|
|
],
|
|
function(err) {
|
|
// throw any unexpected error
|
|
if(err && err != "notfound")
|
|
ERR(err);
|
|
|
|
if(err == "notfound")
|
|
res.status(404).send('404 - Not Found');
|
|
else
|
|
res.send(html);
|
|
});
|
|
});
|
|
|
|
}
|