ЦИТК-641 - Добавление возможности указания IP-адреса сервера приложений

This commit is contained in:
Dollerino 2023-11-14 19:10:56 +03:00
parent a428803849
commit 7221fe1721
4 changed files with 17 additions and 4 deletions

View File

@ -57,6 +57,8 @@ let outGoing = {
let inComing = {
//Порт сервера входящих сообщений
nPort: 8080,
//IP-адрес сервера приложений (0.0.0.0 - все доступные)
sHost: "0.0.0.0",
//Максимальный размер входящего сообщения (мб)
nMsgMaxSize: 10,
//Каталог размещения статических ресурсов

View File

@ -113,11 +113,12 @@ class ParusAppServer {
else await this.onInQStopped();
}
//При запуске обработчика входящих сообщений
async onInQStarted(nPort) {
async onInQStarted(nPort, sHost) {
//Сообщим, что запустили обработчик
await this.logger.info(
`Обработчик очереди входящих сообщений запущен (порт - ${nPort}, доступные IP - ${getIPs().join("; ")})`
`Обработчик очереди входящих сообщений запущен (порт - ${nPort}, доступные IP - ${sHost === "0.0.0.0" ? getIPs().join("; ") : sHost})`
);
//Запускаем
//Запускаем модуль отправки уведомлений
await this.logger.info("Запуск модуля отправки уведомлений...");
try {

View File

@ -78,7 +78,7 @@ class InQueue extends EventEmitter {
//Уведомление о запуске обработчика очереди
notifyStarted() {
//Оповестим подписчиков о запуске
this.emit(SEVT_IN_QUEUE_STARTED, this.inComing.nPort);
this.emit(SEVT_IN_QUEUE_STARTED, this.inComing.nPort, this.inComing.sHost);
}
//Уведомление об остановке обработчика очереди
notifyStopped() {
@ -442,7 +442,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, "0.0.0.0", () => {
this.srv = this.webApp.listen(this.inComing.nPort, this.inComing.sHost, () => {
//И оповещаем всех что запустились
this.notifyStarted();
});

View File

@ -259,6 +259,16 @@ const inComing = new Schema({
`Порт сервера входящих сообщений (${path}) должен быть целым числом в диапазоне от 0 до 65535`
}
},
sHost: {
type: String,
required: true,
message: {
type: path =>
`IP-адрес сервера приложений (${path}) имеет некорректный тип данных (ожидалось - String)`,
required: path => `Не указан IP-адрес сервера приложений (${path})`
}
},
//Максимальный размер входящего сообщения (мб)
nMsgMaxSize: {
type: Number,