TsgcWebSocketHTTPServerGebeurtenissen › OnCommandOther

OnCommandOther Gebeurtenis

Wordt geactiveerd wanneer de HTTP-server een andere methode dan GET, POST of HEAD ontvangt (PUT, DELETE, OPTIONS, PATCH...).

Syntaxis

property OnCommandOther: TIdHTTPCommandEvent;
// TIdHTTPCommandEvent = procedure(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo) of object

Standaardwaarde

Opmerkingen

OnCommandOther wordt geactiveerd voor HTTP-methoden die geen GET, POST of HEAD zijn (PUT, DELETE, OPTIONS, PATCH, TRACE...). Controleer ARequestInfo.Command om te zien welk werkwoord is gebruikt en ARequestInfo.Document voor de doel-URI; vul AResponseInfo.ContentText/ContentStream, ContentType en ResponseNo in, net als bij OnCommandGet. Het afhandelen van deze gebeurtenis is de gebruikelijke manier om REST-eindpunten te implementeren die andere werkwoorden dan GET/POST accepteren; gebruik het samen met OnBeforeCommand wanneer het verzoek ook autorisatiescreening vereist.

Voorbeeld


procedure OnCommandOther(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo;
  AResponseInfo: TIdHTTPResponseInfo);
begin
  if SameText(ARequestInfo.Command, 'OPTIONS') then
  begin
    AResponseInfo.CustomHeaders.Add('Access-Control-Allow-Methods: GET, POST, PUT, DELETE');
    AResponseInfo.ResponseNo := 204;
  end;
end;

Terug naar gebeurtenissen