diff --git a/src/lib/mail.ts b/src/lib/mail.ts index 739ba2b..e323910 100644 --- a/src/lib/mail.ts +++ b/src/lib/mail.ts @@ -110,17 +110,22 @@ async function sendEmail(subject: string, html: string, cc?: string) { export const mail = { - onEstablished: (target: string, message = `Connection established for ${target}`, getHtml: () => string = () => ` + onEstablished: (target: string, + message: () => string|undefined = () => `Connection established for ${target}`, + getHtml: () => string = () => `

Connection from [${os.hostname}] to ${target} established on ${moment().format('DD-MM-YYYY HH:mm:ss')}.

`) => { return async (cc?: string) => { - await queueEmail(`[dw] [${os.hostname}] ${message}`, getHtml(), cc) + await queueEmail(`[dw] [${os.hostname}] ${message()}`, getHtml(), cc) } }, - onDisconnect: (target: string, message = `Connection closed for ${target}`, getErrorMessage: () => string = () => '', getHtml: (waitingDelay: number, recallDelay: number) => string = (waitingDelay: number, recallDelay: number) => ` + onDisconnect: (target: string, + message: () => string|undefined = () => `Connection closed for ${target}`, + getErrorMessage: () => string = () => '', + getHtml: (waitingDelay: number, recallDelay: number) => string = (waitingDelay: number, recallDelay: number) => `

Connection from [${os.hostname}] to ${target} was lost on ${moment().format('dd-MM-YYYY HH:mm:ss')}.

@@ -131,18 +136,20 @@ export const mail = { `) => { return async (waitingDelay: number, recallDelay: number, cc?: string) => { console.log('Waiting %s seconds...', (waitingDelay / 1000).toFixed(0)) - await queueEmail(`[dw] [${os.hostname}] ${message}`, getHtml(waitingDelay, recallDelay), cc) + await queueEmail(`[dw] [${os.hostname}] ${message()}`, getHtml(waitingDelay, recallDelay), cc) } }, - onRestartSuccess: (target: string, message = `Connection recovered for ${target}`, getHtml: () => string = () => ` + onRestartSuccess: (target: string, + message: () => string|undefined = () => `Connection recovered for ${target}`, + getHtml: () => string = () => `

Connection from [${os.hostname}] to ${target} was recovered on ${moment().format('dd-MM-YYYY HH:mm:ss')}.

`) => { return async (cc?: string) => { - console.log(`${message}`) - await queueEmail(`[dw] [${os.hostname}] ${message}`, getHtml(), cc) + console.log(`${message()}`) + await queueEmail(`[dw] [${os.hostname}] ${message()}`, getHtml(), cc) } }, } diff --git a/src/lib/watchers/abstract/url-watcher.ts b/src/lib/watchers/abstract/url-watcher.ts index ea12d00..195d01a 100644 --- a/src/lib/watchers/abstract/url-watcher.ts +++ b/src/lib/watchers/abstract/url-watcher.ts @@ -47,7 +47,7 @@ export function urlWatcher(conf: Conf, checkValidity: (data: any) => Promise getOkTitle()), // When a disconnection is detected (waitingDelay: number, recallDelay, error?: any) => { @@ -57,14 +57,14 @@ export function urlWatcher(conf: Conf, checkValidity: (data: any) => Promise `

${error.errorMessage}

` } - return mail.onDisconnect(urlConf.address, koTitle, koMessage)(waitingDelay, recallDelay) + return mail.onDisconnect(urlConf.address, () => koTitle, koMessage)(waitingDelay, recallDelay) }, async () => { console.log('Trying to connect to %s', urlConf.address) }, - mail.onRestartSuccess(urlConf.address, getRecoveredTitle()), + mail.onRestartSuccess(urlConf.address, () => getRecoveredTitle()), ) } diff --git a/src/lib/watchers/webdiff/webdiff-watcher.ts b/src/lib/watchers/webdiff/webdiff-watcher.ts index 6e7d84b..6337cb5 100644 --- a/src/lib/watchers/webdiff/webdiff-watcher.ts +++ b/src/lib/watchers/webdiff/webdiff-watcher.ts @@ -61,10 +61,10 @@ export function webDiffWatcher(conf: Conf) { conf.waitingDelay, conf.recallDelay, - () => mail.onEstablished(target, 'webdiff successfully started')(webDiffConf.cc), + () => mail.onEstablished(target, () => 'webdiff successfully started')(webDiffConf.cc), // When a disconnection is detected - (waitingDelay: number, recallDelay: number) => mail.onDisconnect(target, 'Diff detected', undefined, (waitingDelay: number) => ` + (waitingDelay: number, recallDelay: number) => mail.onDisconnect(target, () => 'Diff detected', undefined, (waitingDelay: number) => ` ${htmlDiff}

Waiting ${(waitingDelay / 1000).toFixed(0)} seconds before trying to reconnect. diff --git a/src/lib/watchers/ws2p/ws2p-watcher.ts b/src/lib/watchers/ws2p/ws2p-watcher.ts index aa156cd..c3b4aca 100644 --- a/src/lib/watchers/ws2p/ws2p-watcher.ts +++ b/src/lib/watchers/ws2p/ws2p-watcher.ts @@ -44,16 +44,16 @@ export function ws2pWatcher(conf: Conf) { conf.waitingDelay, conf.recallDelay, - mail.onEstablished(target, `State OK WS2P on ${wserver.address}`), + mail.onEstablished(target, () => `State OK WS2P on ${wserver.address}`), // When a disconnection is detected - mail.onDisconnect(target, `State FAILURE WS2P on ${wserver.address}`), + mail.onDisconnect(target, () => `State FAILURE WS2P on ${wserver.address}`), async () => { console.log('Trying to connect to %s', target) }, - mail.onRestartSuccess(target, `State RECOVERED WS2P on ${wserver.address}`), + mail.onRestartSuccess(target, () => `State RECOVERED WS2P on ${wserver.address}`), ) }