diff --git a/server/routes.js b/server/routes.js index 968232f2..9f56496f 100644 --- a/server/routes.js +++ b/server/routes.js @@ -9,50 +9,6 @@ const ReaderWorker = require('./core/Reader/ReaderWorker');//singleton const c = require('./controllers'); const utils = require('./core/utils'); -function initStatic(app, config) { - const readerWorker = new ReaderWorker(config); - - //восстановление файлов в /tmp и /upload из webdav-storage, при необходимости - app.use(async(req, res, next) => { - if ((req.method !== 'GET' && req.method !== 'HEAD') || - !(req.path.indexOf('/tmp/') === 0 || req.path.indexOf('/upload/') === 0) - ) { - return next(); - } - - const filePath = `${config.publicDir}${req.path}`; - - //восстановим - if (!await fs.pathExists(filePath)) { - /*const zlib = require('zlib'); - const gzipBuffer = async(buf) => { - return new Promise((resolve, reject) => { - zlib.gzip(buf, {level: 1}, (err, result) => { - if (err) reject(err); - resolve(result); - }); - }); - }; - - await fs.writeFile(filePath, await gzipBuffer(`${filePath}`));*/ - } - - return next(); - }); - - const tmpDir = `${config.publicDir}/tmp`; - app.use(express.static(config.publicDir, { - maxAge: '30d', - - setHeaders: (res, filePath) => { - if (path.dirname(filePath) == tmpDir) { - res.set('Content-Type', 'application/xml'); - res.set('Content-Encoding', 'gzip'); - } - }, - })); -} - function initRoutes(app, wss, config) { //эксклюзив для update_checker if (config.mode === 'book_update_checker') { @@ -136,6 +92,50 @@ function initRoutes(app, wss, config) { } } +function initStatic(app, config) { + const readerWorker = new ReaderWorker(config); + + //восстановление файлов в /tmp и /upload из webdav-storage, при необходимости + app.use(async(req, res, next) => { + if ((req.method !== 'GET' && req.method !== 'HEAD') || + !(req.path.indexOf('/tmp/') === 0 || req.path.indexOf('/upload/') === 0) + ) { + return next(); + } + + const filePath = `${config.publicDir}${req.path}`; + + //восстановим + if (!await fs.pathExists(filePath)) { + /*const zlib = require('zlib'); + const gzipBuffer = async(buf) => { + return new Promise((resolve, reject) => { + zlib.gzip(buf, {level: 1}, (err, result) => { + if (err) reject(err); + resolve(result); + }); + }); + }; + + await fs.writeFile(filePath, await gzipBuffer(`${filePath}`));*/ + } + + return next(); + }); + + const tmpDir = `${config.publicDir}/tmp`; + app.use(express.static(config.publicDir, { + maxAge: '30d', + + setHeaders: (res, filePath) => { + if (path.dirname(filePath) == tmpDir) { + res.set('Content-Type', 'application/xml'); + res.set('Content-Encoding', 'gzip'); + } + }, + })); +} + module.exports = { initRoutes }