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 TIdHTTPCommandEvent OnCommandOther;
// typedef void __fastcall (__closure *TIdHTTPCommandEvent)(TIdContext * AContext, TIdHTTPRequestInfo * ARequestInfo, TIdHTTPResponseInfo * AResponseInfo);

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


void OnCommandOther(TIdContext *AContext, TIdHTTPRequestInfo *ARequestInfo,
  TIdHTTPResponseInfo *AResponseInfo)
{
  if (SameText(ARequestInfo->Command, "OPTIONS"))
  {
    AResponseInfo->CustomHeaders->Add("Access-Control-Allow-Methods: GET, POST, PUT, DELETE");
    AResponseInfo->ResponseNo = 204;
  }
}

Terug naar Events