TsgcWebSocketServer_HTTPAPI › Gebeurtenissen › OnHTTPRequest
Wordt geactiveerd wanneer de server een HTTP-verzoek ontvangt zodat de applicatie het antwoord kan opbouwen.
property OnHTTPRequest: TsgcWSHTTPAPIRequestEvent;
// TsgcWSHTTPAPIRequestEvent = procedure(aConnection: TsgcWSConnection_HTTPAPI; const aRequestInfo: THttpServerRequest; var aResponseInfo: THttpServerResponse) of object
—
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.
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;