TsgcWSAPIServer_WebPushZdarzenia › OnWebPushSendNotificationException

OnWebPushSendNotificationException Zdarzenie

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).

Składnia

property OnWebPushSendNotificationException: TsgcWSWebPushSendNotificationException;
// TsgcWSWebPushSendNotificationException = procedure(Sender: TObject; aSubscription: TsgcHTTP_API_WebPush_PushSubscription; E: Exception; var Remove: Boolean) of object

Wartość domyślna

Uwagi

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.

Przykład

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;

Powrót do Zdarzeń