aboutsummaryrefslogtreecommitdiffstats
path: root/mod/notification-ntfy.rsc
diff options
context:
space:
mode:
authorGravatar Christian Hesse <mail@eworm.de>2024-04-09 23:46:32 +0200
committerGravatar Christian Hesse <mail@eworm.de>2024-04-15 09:11:17 +0200
commitca2e5f2a017c20f272419c5539b7c234a02f45a4 (patch)
treef11813b9c368a1d88fa6370d5bf99b79fef287d6 /mod/notification-ntfy.rsc
parent5f76c245b016125f9e56d45bef381bae38731491 (diff)
mod/notification-ntfy: support basic authchange-127
Closes #59
Diffstat (limited to 'mod/notification-ntfy.rsc')
-rw-r--r--mod/notification-ntfy.rsc14
1 files changed, 11 insertions, 3 deletions
diff --git a/mod/notification-ntfy.rsc b/mod/notification-ntfy.rsc
index dc03903..ffe0c50 100644
--- a/mod/notification-ntfy.rsc
+++ b/mod/notification-ntfy.rsc
@@ -38,7 +38,8 @@
:if ([ :typeof $Message ] = "array" ) do={
:do {
/tool/fetch check-certificate=yes-without-crl output=none http-method=post \
- ($Message->"url") http-header-field=($Message->"headers") http-data=($Message->"text") as-value;
+ http-header-field=($Message->"headers") http-data=($Message->"text") \
+ ($Message->"url") user=($Message->"user") password=($Message->"pass") as-value;
:set ($NtfyQueue->$Id);
} on-error={
$LogPrint debug $0 ("Sending queued Ntfy message failed.");
@@ -62,6 +63,10 @@
:global NtfyQueue;
:global NtfyServer;
:global NtfyServerOverride;
+ :global NtfyServerPass;
+ :global NtfyServerPassOverride;
+ :global NtfyServerUser;
+ :global NtfyServerUserOverride;
:global NtfyTopic;
:global NtfyTopicOverride;
@@ -73,6 +78,8 @@
:global UrlEncode;
:local Server [ $EitherOr ($NtfyServerOverride->($Notification->"origin")) $NtfyServer ];
+ :local User [ $EitherOr ($NtfyServerUserOverride->($Notification->"origin")) $NtfyServerUser ];
+ :local Pass [ $EitherOr ($NtfyServerPassOverride->($Notification->"origin")) $NtfyServerPass ];
:local Topic [ $EitherOr ($NtfyTopicOverride->($Notification->"origin")) $NtfyTopic ];
:if ([ :len $Topic ] = 0) do={
@@ -95,7 +102,7 @@
}
}
/tool/fetch check-certificate=yes-without-crl output=none http-method=post \
- $Url http-header-field=$Headers http-data=$Text as-value;
+ http-header-field=$Headers http-data=$Text $Url user=$User password=$Pass as-value;
} on-error={
$LogPrint info $0 ("Failed sending ntfy notification! Queuing...");
@@ -105,7 +112,8 @@
:set Text ($Text . "\n" . [ $SymbolForNotification "alarm-clock" ] . \
"This message was queued since " . [ /system/clock/get date ] . " " . \
[ /system/clock/get time ] . " and may be obsolete.");
- :set ($NtfyQueue->[ :len $NtfyQueue ]) { url=$Url; headers=$Headers; text=$Text };
+ :set ($NtfyQueue->[ :len $NtfyQueue ]) \
+ { url=$Url; user=$User; pass=$Pass; headers=$Headers; text=$Text };
:if ([ :len [ /system/scheduler/find where name="_FlushNtfyQueue" ] ] = 0) do={
/system/scheduler/add name="_FlushNtfyQueue" interval=1m start-time=startup \
on-event=(":global FlushNtfyQueue; \$FlushNtfyQueue;");