mirror of
https://github.com/ether/etherpad-lite.git
synced 2025-04-21 07:56:16 -04:00
27 lines
791 B
JavaScript
27 lines
791 B
JavaScript
'use strict';
|
|
|
|
const readOnlyManager = require('../../db/ReadOnlyManager');
|
|
const hasPadAccess = require('../../padaccess');
|
|
const exporthtml = require('../../utils/ExportHtml');
|
|
|
|
exports.expressCreateServer = (hookName, args, cb) => {
|
|
// serve read only pad
|
|
args.app.get('/ro/:id', async (req, res) => {
|
|
// translate the read only pad to a padId
|
|
const padId = await readOnlyManager.getPadId(req.params.id);
|
|
if (padId == null) {
|
|
res.status(404).send('404 - Not Found');
|
|
return;
|
|
}
|
|
|
|
// we need that to tell hasPadAcess about the pad
|
|
req.params.pad = padId;
|
|
|
|
if (await hasPadAccess(req, res)) {
|
|
// render the html document
|
|
const html = await exporthtml.getPadHTMLDocument(padId, null);
|
|
res.send(html);
|
|
}
|
|
});
|
|
return cb();
|
|
};
|