mirror of
https://github.com/louislam/uptime-kuma.git
synced 2024-11-27 16:54:04 +00:00
[certificate notification] error handling and better msg
This commit is contained in:
parent
f5f4835b74
commit
eb22ad5ffe
1 changed files with 25 additions and 20 deletions
|
@ -451,29 +451,34 @@ class Monitor extends BeanModel {
|
||||||
let tls_info_bean = await R.findOne("monitor_tls_info", "monitor_id = ?", [
|
let tls_info_bean = await R.findOne("monitor_tls_info", "monitor_id = ?", [
|
||||||
this.id,
|
this.id,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
if (tls_info_bean == null) {
|
if (tls_info_bean == null) {
|
||||||
tls_info_bean = R.dispense("monitor_tls_info");
|
tls_info_bean = R.dispense("monitor_tls_info");
|
||||||
tls_info_bean.monitor_id = this.id;
|
tls_info_bean.monitor_id = this.id;
|
||||||
}
|
|
||||||
|
|
||||||
// Clear sent history if the cert changed.
|
|
||||||
let oldCertInfo = JSON.parse(tls_info_bean.info_json);
|
|
||||||
|
|
||||||
let isValidObjects = oldCertInfo && oldCertInfo.certInfo && checkCertificateResult && checkCertificateResult.certInfo;
|
|
||||||
|
|
||||||
if (isValidObjects) {
|
|
||||||
if (oldCertInfo.certInfo.fingerprint256 !== checkCertificateResult.certInfo.fingerprint256) {
|
|
||||||
debug("Resetting sent_history");
|
|
||||||
await R.exec("DELETE FROM notification_sent_history WHERE type = 'certificate' AND monitor_id = ?", [
|
|
||||||
this.id
|
|
||||||
]);
|
|
||||||
} else {
|
|
||||||
debug("No need to reset sent_history");
|
|
||||||
debug(oldCertInfo.certInfo.fingerprint256);
|
|
||||||
debug(checkCertificateResult.certInfo.fingerprint256);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
debug("Not valid object");
|
|
||||||
|
// Clear sent history if the cert changed.
|
||||||
|
try {
|
||||||
|
let oldCertInfo = JSON.parse(tls_info_bean.info_json);
|
||||||
|
|
||||||
|
let isValidObjects = oldCertInfo && oldCertInfo.certInfo && checkCertificateResult && checkCertificateResult.certInfo;
|
||||||
|
|
||||||
|
if (isValidObjects) {
|
||||||
|
if (oldCertInfo.certInfo.fingerprint256 !== checkCertificateResult.certInfo.fingerprint256) {
|
||||||
|
debug("Resetting sent_history");
|
||||||
|
await R.exec("DELETE FROM notification_sent_history WHERE type = 'certificate' AND monitor_id = ?", [
|
||||||
|
this.id
|
||||||
|
]);
|
||||||
|
} else {
|
||||||
|
debug("No need to reset sent_history");
|
||||||
|
debug(oldCertInfo.certInfo.fingerprint256);
|
||||||
|
debug(checkCertificateResult.certInfo.fingerprint256);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
debug("Not valid object");
|
||||||
|
}
|
||||||
|
} catch (e) { }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
tls_info_bean.info_json = JSON.stringify(checkCertificateResult);
|
tls_info_bean.info_json = JSON.stringify(checkCertificateResult);
|
||||||
|
@ -690,7 +695,7 @@ class Monitor extends BeanModel {
|
||||||
for (let notification of notificationList) {
|
for (let notification of notificationList) {
|
||||||
try {
|
try {
|
||||||
debug("Sending to " + notification.name);
|
debug("Sending to " + notification.name);
|
||||||
await Notification.send(JSON.parse(notification.config), `The certificate of ${this.url} will be expired in ${daysRemaining} days`);
|
await Notification.send(JSON.parse(notification.config), `[${this.name}][${this.url}] Certificate will be expired in ${daysRemaining} days`);
|
||||||
sent = true;
|
sent = true;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error("Cannot send cert notification to " + notification.name);
|
console.error("Cannot send cert notification to " + notification.name);
|
||||||
|
|
Loading…
Reference in a new issue