TsgcWSAPIServer_WebPush › Zdarzenia › OnWebPushSendNotificationException
Wywoływane, gdy podczas wysyłania powiadomienia metodą POST do usługi push zostanie rzucony wyjątek (typowe przyczyny: 400 Bad Request, 404/410 Gone dla wygasłych punktów końcowych, awarie TLS lub sieci).
property OnWebPushSendNotificationException: TsgcWSWebPushSendNotificationException;
// TsgcWSWebPushSendNotificationException = procedure(Sender: TObject; aSubscription: TsgcHTTP_API_WebPush_PushSubscription; E: Exception; var Remove: Boolean) of object
—
Wywoływane zarówno przez SendNotification, jak i przez pętlę wewnątrz BroadcastNotification. Parametr var Remove domyślnie ma wartość True: pozostawienie tej wartości powoduje usunięcie problematycznej subskrypcji z wewnętrznej listy (właściwe zachowanie w przypadku trwałych błędów, takich jak HTTP 410 Gone). Ustawienie wartości False zachowuje subskrypcję i umożliwia ponowną próbę później, gdy błąd jest przejściowy (przekroczenie limitu czasu sieci, odpowiedź 5xx z usługi push). Parametr E służy do rejestrowania i diagnostyki.
procedure TForm1.sgcWSAPIServer_WebPush1WebPushSendNotificationException(
Sender: TObject; aSubscription: TsgcHTTP_API_WebPush_PushSubscription;
E: Exception; var Remove: Boolean);
begin
LogError(aSubscription.Endpoint, E.Message);
// keep subscription on transient errors, remove it on permanent ones
Remove := Pos('410', E.Message) > 0;
end;