Возможность отдавать статические файлы

This commit is contained in:
Mikhail Chechnev 2019-02-15 21:01:18 +03:00
parent 2bb6aca5a4
commit 86538cb3c4
3 changed files with 23 additions and 3 deletions

View File

@ -34,7 +34,9 @@ let inComing = {
//Порт сервера входящих сообщений
nPort: 8080,
//Максимальный размер входящего сообщения (мб)
nMsgMaxSize: 10
nMsgMaxSize: 10,
//Каталог размещения статических ресурсов
sStaticDir: "static"
};
//Параметры отправки E-Mail уведомлений

View File

@ -332,8 +332,15 @@ class InQueue extends EventEmitter {
}</h3></center></body></html>`
);
});
//Для всех функций сервиса...
_.forEach(srvs.functions, fn => {
//Для всех статических функций сервиса...
_.forEach(_.filter(srvs.functions, fn => fn.sFnURL.startsWith("@")), fn => {
this.webApp.use(
buildURL({ sSrvRoot: srvs.sSrvRoot, sFnURL: fn.sFnURL.substr(1) }),
express.static(`${this.inComing.sStaticDir}/${fn.sFnURL.substr(1)}`)
);
});
//Для всех функций сервиса (кроме статических)...
_.forEach(_.filter(srvs.functions, fn => !fn.sFnURL.startsWith("@")), fn => {
//...собственный обработчик, в зависимости от указанного способа передачи параметров
this.webApp[fn.nFnPrmsType == objServiceFnSchema.NFN_PRMS_TYPE_POST ? "post" : "get"](
buildURL({ sSrvRoot: srvs.sSrvRoot, sFnURL: fn.sFnURL }),
@ -380,6 +387,7 @@ class InQueue extends EventEmitter {
//Отправим ошибку клиенту
res.status(500).send(makeErrorText(new ServerError(SERR_WEB_SERVER, err.message)));
});
//Запускаем сервер
this.srv = this.webApp.listen(this.inComing.nPort, () => {
//И оповещаем всех что запустились

View File

@ -133,6 +133,16 @@ const inComing = new Schema({
validateMsgMaxSize: path =>
`Максимальный размер входящего сообщения (${path}) должен быть целым числом в диапазоне от 1 до 1000`
}
},
//Каталог размещения статических ресурсов
sStaticDir: {
type: String,
required: true,
message: {
type: path =>
`Каталог размещения статических ресурсов (${path}) имеет некорректный тип данных (ожидалось - String)`,
required: path => `Не указан каталог размещения статических ресурсов (${path})`
}
}
});