TsgcWebSocketHTTPServerEventos › OnBeforeCommand

OnBeforeCommand Evento

Se activa antes de OnCommandGet o OnCommandOther para que la solicitud pueda ser examinada, autorizada o cortocircuitada con una respuesta 401.

Sintaxis

property OnBeforeCommand: TsgcWSOnBeforeCommand;
// TsgcWSOnBeforeCommand = procedure(const aConnection: TsgcWSConnection; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo; var aOptions: TsgcHTTPCommandOptions) of object

Valor Predeterminado

Observaciones

OnBeforeCommand se ejecuta para cada solicitud HTTP antes de que el servidor la despache a OnCommandGet o OnCommandOther. Inspeccione ARequestInfo (Document, Params, Headers, RemoteIP...) para decidir cómo debe tratarse la solicitud y asigne aOptions en consecuencia. Incluya hcoUnauthorized para rechazar la solicitud inmediatamente con una respuesta 401 (útil para proteger un endpoint sin escribir ninguna respuesta usted mismo), incluya hcoAuthorizedBasic para forzar la autenticación Basic, o deje el conjunto vacío para que los manejadores de comandos normales continúen su ejecución. El evento es el lugar recomendado para combinar endpoints públicos y autenticados en el mismo servidor.

Ejemplo


procedure OnBeforeCommand(const aConnection: TsgcWSConnection; ARequestInfo: TIdHTTPRequestInfo;
  AResponseInfo: TIdHTTPResponseInfo; var aOptions: TsgcHTTPCommandOptions);
begin
  if aRequestInfo.Document = '/public' then
    aOptions := [hcoAuthorizedBasic];
end;

Volver a Eventos