TsgcWebSocketHTTPServerEvents › OnBeforeCommand

OnBeforeCommand Event

Wordt geactiveerd vóór OnCommandGet of OnCommandOther zodat het verzoek kan worden gecontroleerd, geautoriseerd of vroegtijdig kan worden beëindigd met een 401-respons.

Syntaxis

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

Standaardwaarde

Opmerkingen

OnBeforeCommand wordt uitgevoerd voor elk HTTP-verzoek voordat de server het doorstuwt naar OnCommandGet of OnCommandOther. Inspecteer ARequestInfo (Document, Params, Headers, RemoteIP...) om te bepalen hoe het verzoek moet worden afgehandeld en wijs aOptions dienovereenkomstig toe. Voeg hcoUnauthorized toe om het verzoek onmiddellijk te weigeren met een 401-antwoord (handig om een eindpunt te beveiligen zonder zelf een antwoord te schrijven), voeg hcoAuthorizedBasic toe om Basic-authenticatie te forceren, of laat de set leeg om de normale opdrachthandlers te laten uitvoeren. De gebeurtenis is de aanbevolen plek om openbare en geverifieerde eindpunten op dezelfde server te combineren.

Voorbeeld


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

Terug naar gebeurtenissen