TsgcWebSocketServer_HTTPAPI › Events › OnHTTPRequest
Wird ausgelöst, wenn der Server eine HTTP-Anfrage empfängt, sodass die Anwendung die Antwort erstellen kann.
property OnHTTPRequest: TsgcWSHTTPAPIRequestEvent;
// TsgcWSHTTPAPIRequestEvent = procedure(aConnection: TsgcWSConnection_HTTPAPI; const aRequestInfo: THttpServerRequest; var aResponseInfo: THttpServerResponse) of object
—
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.
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;