Удаление более ненужной функциональности
This commit is contained in:
@@ -120,32 +120,7 @@ class Reader {
|
|||||||
estSize = response.headers['content-length'];
|
estSize = response.headers['content-length'];
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
//восстановим при необходимости файл на сервере из удаленного облака
|
//
|
||||||
let response = null
|
|
||||||
|
|
||||||
try {
|
|
||||||
response = await wsc.message(await wsc.send({action: 'reader-restore-cached-file', path: url}));
|
|
||||||
} catch (e) {
|
|
||||||
console.error(e);
|
|
||||||
//если с WebSocket проблема, работаем по http
|
|
||||||
response = await api.post('/restore-cached-file', {path: url});
|
|
||||||
response = response.data;
|
|
||||||
}
|
|
||||||
if (response.state == 'error') {
|
|
||||||
throw new Error(response.error);
|
|
||||||
}
|
|
||||||
|
|
||||||
const workerId = response.workerId;
|
|
||||||
if (!workerId)
|
|
||||||
throw new Error('Неверный ответ api');
|
|
||||||
|
|
||||||
response = await this.getWorkerStateFinish(workerId);
|
|
||||||
if (response.state == 'error') {
|
|
||||||
throw new Error(response.error);
|
|
||||||
}
|
|
||||||
if (response.size && estSize < 0) {
|
|
||||||
estSize = response.size;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return estSize;
|
return estSize;
|
||||||
|
|||||||
@@ -68,24 +68,6 @@ class ReaderController extends BaseController {
|
|||||||
res.status(400).send({error});
|
res.status(400).send({error});
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
async restoreCachedFile(req, res) {
|
|
||||||
const request = req.body;
|
|
||||||
let error = '';
|
|
||||||
try {
|
|
||||||
if (!request.path)
|
|
||||||
throw new Error(`key 'path' is empty`);
|
|
||||||
|
|
||||||
const workerId = this.readerWorker.restoreCachedFile(request.path);
|
|
||||||
const state = this.workerState.getState(workerId);
|
|
||||||
return (state ? state : {});
|
|
||||||
} catch (e) {
|
|
||||||
error = e.message;
|
|
||||||
}
|
|
||||||
//bad request
|
|
||||||
res.status(400).send({error});
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = ReaderController;
|
module.exports = ReaderController;
|
||||||
|
|||||||
@@ -70,8 +70,6 @@ class WebSocketController {
|
|||||||
await this.workerGetState(req, ws); break;
|
await this.workerGetState(req, ws); break;
|
||||||
case 'worker-get-state-finish':
|
case 'worker-get-state-finish':
|
||||||
await this.workerGetStateFinish(req, ws); break;
|
await this.workerGetStateFinish(req, ws); break;
|
||||||
case 'reader-restore-cached-file':
|
|
||||||
await this.readerRestoreCachedFile(req, ws); break;
|
|
||||||
case 'reader-storage':
|
case 'reader-storage':
|
||||||
await this.readerStorageDo(req, ws); break;
|
await this.readerStorageDo(req, ws); break;
|
||||||
case 'upload-file-buf':
|
case 'upload-file-buf':
|
||||||
@@ -157,15 +155,6 @@ class WebSocketController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async readerRestoreCachedFile(req, ws) {
|
|
||||||
if (!req.path)
|
|
||||||
throw new Error(`key 'path' is empty`);
|
|
||||||
|
|
||||||
const workerId = this.readerWorker.restoreCachedFile(req.path);
|
|
||||||
const state = this.workerState.getState(workerId);
|
|
||||||
this.send((state ? state : {}), req, ws);
|
|
||||||
}
|
|
||||||
|
|
||||||
async readerStorageDo(req, ws) {
|
async readerStorageDo(req, ws) {
|
||||||
if (!req.body)
|
if (!req.body)
|
||||||
throw new Error(`key 'body' is empty`);
|
throw new Error(`key 'body' is empty`);
|
||||||
|
|||||||
@@ -247,30 +247,6 @@ class ReaderWorker {
|
|||||||
return targetName;
|
return targetName;
|
||||||
}
|
}
|
||||||
|
|
||||||
restoreCachedFile(filename) {
|
|
||||||
const workerId = this.workerState.generateWorkerId();
|
|
||||||
const wState = this.workerState.getControl(workerId);
|
|
||||||
wState.set({state: 'start'});
|
|
||||||
|
|
||||||
(async() => {
|
|
||||||
try {
|
|
||||||
wState.set({state: 'download', step: 1, totalSteps: 1, path: filename, progress: 0});
|
|
||||||
|
|
||||||
const targetName = await this.restoreRemoteFile(filename);
|
|
||||||
const stat = await fs.stat(targetName);
|
|
||||||
|
|
||||||
const basename = path.basename(filename);
|
|
||||||
wState.finish({path: `/tmp/${basename}`, size: stat.size, progress: 100});
|
|
||||||
} catch (e) {
|
|
||||||
if (e.message.indexOf('404') < 0)
|
|
||||||
log(LM_ERR, e.stack);
|
|
||||||
wState.set({state: 'error', error: e.message});
|
|
||||||
}
|
|
||||||
})();
|
|
||||||
|
|
||||||
return workerId;
|
|
||||||
}
|
|
||||||
|
|
||||||
async cleanDir(dir, remoteDir, maxSize, moveToRemote) {
|
async cleanDir(dir, remoteDir, maxSize, moveToRemote) {
|
||||||
if (!this.remoteSent)
|
if (!this.remoteSent)
|
||||||
this.remoteSent = {};
|
this.remoteSent = {};
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ const express = require('express');
|
|||||||
const multer = require('multer');
|
const multer = require('multer');
|
||||||
|
|
||||||
const ReaderWorker = require('./core/Reader/ReaderWorker');//singleton
|
const ReaderWorker = require('./core/Reader/ReaderWorker');//singleton
|
||||||
const log = new (require('../AppLogger'))().log;//singleton
|
const log = new (require('./core/AppLogger'))().log;//singleton
|
||||||
|
|
||||||
const c = require('./controllers');
|
const c = require('./controllers');
|
||||||
const utils = require('./core/utils');
|
const utils = require('./core/utils');
|
||||||
@@ -45,7 +45,6 @@ function initRoutes(app, wss, config) {
|
|||||||
['POST', '/api/reader/load-book', reader.loadBook.bind(reader), [aAll], {}],
|
['POST', '/api/reader/load-book', reader.loadBook.bind(reader), [aAll], {}],
|
||||||
['POST', '/api/reader/storage', reader.storage.bind(reader), [aAll], {}],
|
['POST', '/api/reader/storage', reader.storage.bind(reader), [aAll], {}],
|
||||||
['POST', '/api/reader/upload-file', [upload.single('file'), reader.uploadFile.bind(reader)], [aAll], {}],
|
['POST', '/api/reader/upload-file', [upload.single('file'), reader.uploadFile.bind(reader)], [aAll], {}],
|
||||||
['POST', '/api/reader/restore-cached-file', reader.restoreCachedFile.bind(reader), [aAll], {}],
|
|
||||||
['POST', '/api/worker/get-state', worker.getState.bind(worker), [aAll], {}],
|
['POST', '/api/worker/get-state', worker.getState.bind(worker), [aAll], {}],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user