Skip to content

Commit 405eea3

Browse files
author
Dan Done
committed
#182 Catching exception from Webhook requests to prevent the container falling over.
1 parent b6fdadc commit 405eea3

File tree

1 file changed

+27
-19
lines changed

1 file changed

+27
-19
lines changed

SynoAI/Notifiers/Webhook/Webhook.cs

+27-19
Original file line numberDiff line numberDiff line change
@@ -118,26 +118,34 @@ public override async Task SendAsync(Camera camera, Notification notification, I
118118
logger.LogInformation($"{camera.Name}: Webhook: Calling {Method}.");
119119

120120
HttpResponseMessage response;
121-
switch (Method)
121+
try
122122
{
123-
case "DELETE":
124-
response = await client.DeleteAsync(Url);
125-
break;
126-
case "GET":
127-
response = await client.GetAsync(Url);
128-
break;
129-
case "PATCH":
130-
response = await client.PatchAsync(Url, content);
131-
break;
132-
case "POST":
133-
response = await client.PostAsync(Url, content);
134-
break;
135-
case "PUT":
136-
response = await client.PutAsync(Url, content);
137-
break;
138-
default:
139-
logger.LogError($"{camera.Name}: Webhook: The method type '{Method}' is not supported.");
140-
return;
123+
switch (Method)
124+
{
125+
case "DELETE":
126+
response = await client.DeleteAsync(Url);
127+
break;
128+
case "GET":
129+
response = await client.GetAsync(Url);
130+
break;
131+
case "PATCH":
132+
response = await client.PatchAsync(Url, content);
133+
break;
134+
case "POST":
135+
response = await client.PostAsync(Url, content);
136+
break;
137+
case "PUT":
138+
response = await client.PutAsync(Url, content);
139+
break;
140+
default:
141+
logger.LogError($"{camera.Name}: Webhook: The method type '{Method}' is not supported.");
142+
return;
143+
}
144+
}
145+
catch (Exception ex)
146+
{
147+
logger.LogError($"{camera.Name}: Webhook: Unhandled Exception occurred '{ex.Message}'.");
148+
return;
141149
}
142150

143151
if (response.IsSuccessStatusCode)

0 commit comments

Comments
 (0)