TsgcWebSocketServer_HTTPAPIEvents › OnHTTPRequest

OnHTTPRequest Ereignis

Wird ausgelöst, wenn der Server eine HTTP-Anfrage empfängt, sodass die Anwendung die Antwort erstellen kann.

Syntax

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

Standardwert

Hinweise

OnHTTPRequest ist der Haupteinstiegspunkt für jede HTTP-Anforderung, die HTTP.SYS an den Server zustellt (GET, POST, PUT, DELETE, HEAD...). aRequestInfo stellt die decodierte Anforderung bereit (Document, Method, Headers, ContentType, Content, QueryParams, Cookies, ContentLength, AuthExists/AuthUsername/AuthPassword, Stream) und aResponseInfo sammelt die Antwort, die die Anwendung zurücksenden möchte: setzen Sie ResponseNo, ContentText (oder ContentStream / FileName für binäre/Datei-Antworten), ContentType, CustomHeaders, Date/Expires/LastModified und CacheControl nach Bedarf. Lassen Sie aResponseInfo unberührt, um das Standard-HTTP 200 zurückzugeben, oder weisen Sie ResponseNo 404/500/... zu, um Fehlerzustände zu signalisieren. Dieses Ereignis wird nicht für WebSocket-Upgrade-Anforderungen ausgelöst; diese werden stattdessen über OnConnect / OnHandshake geroutet.

Beispiel


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;

Zurück zu Ereignissen