TsgcWSPServer_WAMPEvents › OnBeforeSubscription

OnBeforeSubscription Event

Dispara quando um cliente envia um frame SUBSCRIBE, dando ao servidor a chance de aceitar ou rejeitar a assinatura.

Sintaxe

property OnBeforeSubscription: TsgcWSBeforeSubscriptionEvent;
// TsgcWSBeforeSubscriptionEvent = procedure(Connection: TsgcWSConnection; const Subscription: String; var Accept: Boolean) of object

Valor Padrão

Observações

Subscription é a URI do tópico que o cliente está pedindo para ingressar (já resolvida com base em qualquer prefixo previamente registrado com OnPrefix). Accept é definido como True por padrão, o que significa que o broker registrará o cliente como assinante e começará a encaminhar mensagens EVENT. Defina-o como False para descartar silenciosamente o SUBSCRIBE, o broker não adicionará o cliente ao tópico e nenhuma confirmação é enviada de volta (o WAMP v1 não tem quadro SUBSCRIBED). O uso típico é o controle de acesso: verifique a identidade autenticada anexada a Connection contra uma ACL, política de namespace ou limite de taxa.

Exemplo


procedure TForm1.WAMPServerBeforeSubscription(Connection: TsgcWSConnection;
  const Subscription: String; var Accept: Boolean);
begin
  // allow public topics, reject admin channels for non-admin clients
  Accept := not StartsText('http://example.com/admin/', Subscription);
  Memo1.Lines.Add(Format('[%s] SUBSCRIBE %s -> %s',
    [Connection.Guid, Subscription, BoolToStr(Accept, True)]));
end;

Voltar para Eventos