UNPKG

erfan-flmngr-server-fixed

Version:

> Node.js Backend for Flmngr file manager

117 lines (116 loc) 4.79 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function (o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } }); }) : (function (o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function (o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function (o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.UploaderServlet = void 0; const Actions_1 = require("../lib/Actions"); const JsonCodec_1 = require("../lib/JsonCodec"); const Uploader_1 = require("../lib/Uploader"); const ServletConfig_1 = require("./ServletConfig"); const Message_1 = require("../lib/action/resp/Message"); const ReqError_1 = require("../lib/action/req/ReqError"); const fsx = __importStar(require("fs-extra")); class UploaderServlet { constructor(m_conf = {},_fmRepository, _rootDirPath) { this._rootDirPath = _rootDirPath; this._fmRepository = _fmRepository; this.m_conf = m_conf; this.m_actions = new Actions_1.Actions(); this.m_json = new JsonCodec_1.JsonCodec(); this.m_config = new ServletConfig_1.ServletConfig(this.m_conf); this.m_uploader = new Uploader_1.Uploader(this.m_config, this.m_actions,this._fmRepository,this._rootDirPath); } getReq(request) { let dataJson = request.postData; let fileName = null; let fileSize = -1; let file; console.log(dataJson, fileName, fileSize); if (request["postFile"]) { file = request["postFile"]["data"]; fileName = request["postFile"]["filename"]; fileSize = file.length; } let req; try { req = this.m_json.fromJson(dataJson); if (this.m_config.isTestAllowed()) { if (req['test_serverConfig'] != null) this.m_config.setTestConfig(req['test_serverConfig']); if (req['test_clearAllFiles'] != null && req['test_clearAllFiles']) this.clearAllFiles(); } } catch (e) { console.log(e); return null; } if (fileName != null) { req['m_fileName'] = fileName; req['m_fileSize'] = fileSize; req['m_file'] = file; } return req; } clearAllFiles() { fsx.removeSync(this.m_config.getTmpDir()); fsx.mkdirsSync(this.m_config.getTmpDir()); fsx.removeSync(this.m_config.getBaseDir()); fsx.mkdirsSync(this.m_config.getBaseDir()); } addHeaders(response) { if (this.m_config.getCrossDomainUrl() != null && this.m_config.getCrossDomainUrl().length > 0) { response.setHeader("Access-Control-Allow-Origin", this.m_config.getCrossDomainUrl()); response.setHeader("Access-Control-Allow-Methods", "POST"); response.setHeader("Access-Control-Allow-Headers", "accept, content-type"); response.setHeader("Access-Control-Max-Age", "1728000"); } } doOptions(request, response) { this.addHeaders(response); } doPost(request, response) { this.addHeaders(response); let strResp; let req = null; try { req = this.getReq(request); } catch (e) { // FileUploadException and IOException console.log(e); } if (req == null) req = ReqError_1.createReqError(Message_1.Message.createMessage(Message_1.Message.MALFORMED_REQUEST)); this.m_uploader.run(req, (resp) => { strResp = this.m_json.toJson(resp); // let files2 = { files2: [{ "name": "Capture.PNG", "size": 41294, "timestamp": 1658649098000, "width": 1602, "height": 597, "blurHash": null, "formats": [] }] } try { response.contentType("application/json; charset=UTF-8"); response.send(strResp); } catch (e) { console.log(e); } }); } } exports.UploaderServlet = UploaderServlet; //# sourceMappingURL=UploaderServlet.js.map