Мелкий рефакторинг

This commit is contained in:
Book Pauk
2022-07-16 17:54:27 +07:00
parent 5aa6ee899c
commit c6300222ea

View File

@@ -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>${filePath}</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>${filePath}</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
}