TsgcWSPServer_WAMP › Eventos › OnBeforeSubscription
Se activa cuando un cliente envía una trama SUBSCRIBE, dando al servidor la oportunidad de aceptar o rechazar la suscripción.
property OnBeforeSubscription: TsgcWSBeforeSubscriptionEvent;
// TsgcWSBeforeSubscriptionEvent = procedure(Connection: TsgcWSConnection; const Subscription: String; var Accept: Boolean) of object
—
Subscription es la URI del tema al que el cliente solicita unirse (ya resuelta frente a cualquier prefijo registrado anteriormente con OnPrefix). Accept está establecido en True de forma predeterminada, lo que significa que el broker registrará al cliente como suscriptor y comenzará a reenviar mensajes EVENT. Establézcalo en False para descartar silenciosamente el SUBSCRIBE: el broker no añadirá al cliente al tema y no se enviará ninguna confirmación (WAMP v1 no dispone de trama SUBSCRIBED). El uso típico es el control de acceso: compruebe la identidad autenticada adjunta a Connection frente a una ACL, política de espacio de nombres o límite de velocidad.
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;