TsgcWSAPIServer_WebPushEventos › OnWebPushSendNotificationException

OnWebPushSendNotificationException Event

Dispara quando uma exceção é gerada ao fazer POST de uma notificação ao serviço de push (causas típicas: 400 Bad Request, 404/410 Gone para endpoints expirados, falhas de TLS ou de rede).

Sintaxe

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

Valor Padrão

Observações

Gerado tanto a partir de SendNotification quanto do loop por assinante dentro de BroadcastNotification. O parâmetro var Remove tem como padrão True: deixá-lo como está descarta a assinatura problemática da lista interna (o comportamento correto para falhas permanentes como HTTP 410 Gone). Defina-o como False para manter a assinatura e tentar novamente mais tarde, por exemplo quando a falha é transitória (timeout de rede, 5xx do serviço de push). Utilize E para logging e diagnósticos.

Exemplo

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;

Voltar para Eventos