TsgcWebSocketServer_HTTPAPIGebeurtenissen › OnHTTPRequest

OnHTTPRequest Gebeurtenis

Wordt geactiveerd wanneer de server een HTTP-verzoek ontvangt zodat de applicatie het antwoord kan opbouwen.

Syntaxis

property OnHTTPRequest: TsgcWSHTTPAPIRequestEvent;
// TsgcWSHTTPAPIRequestEvent = procedure(aConnection: TsgcWSConnection_HTTPAPI; const aRequestInfo: THttpServerRequest; var aResponseInfo: THttpServerResponse) of object

Standaardwaarde

Opmerkingen

OnHTTPRequest is het belangrijkste toegangspunt voor elk HTTP-verzoek dat HTTP.SYS aan de server levert (GET, POST, PUT, DELETE, HEAD...). aRequestInfo stelt het gedecodeerde verzoek beschikbaar (Document, Method, Headers, ContentType, Content, QueryParams, Cookies, ContentLength, AuthExists/AuthUsername/AuthPassword, Stream) en aResponseInfo verzamelt het antwoord dat de toepassing wil terugsturen: stel ResponseNo, ContentText (of ContentStream / FileName voor binaire/bestandsantwoorden), ContentType, CustomHeaders, Date/Expires/LastModified en CacheControl naar behoefte in. Laat aResponseInfo ongewijzigd om de standaard HTTP 200 te retourneren, of wijs ResponseNo toe aan 404/500/... om foutcondities te signaleren. Deze gebeurtenis wordt niet geactiveerd voor WebSocket-upgradeaanvragen; die worden gerouteerd via OnConnect/OnHandshake.

Voorbeeld


procedure OnHTTPRequest(aConnection: TsgcWSConnection_HTTPAPI;
  const aRequestInfo: THttpServerRequest;
  var aResponseInfo: THttpServerResponse);
begin
  if aRequestInfo.Method = 'GET' then
  begin
    if aRequestInfo.Document = '/test.html' then
    begin
      aResponseInfo.ResponseNo := 200;
      aResponseInfo.ContentText := 'OK';
      aResponseInfo.ContentType := 'text/html; charset=UTF-8';
    end
    else
      aResponseInfo.ResponseNo := 404;
  end
  else
    aResponseInfo.ResponseNo := 500;
end;

Terug naar gebeurtenissen