TsgcWebSocketServer_HTTPAPI › Events › OnHTTPRequest
Se déclenche lorsque le serveur reçoit une requête HTTP afin que l'application puisse construire la réponse.
property OnHTTPRequest: TsgcWSHTTPAPIRequestEvent;
// TsgcWSHTTPAPIRequestEvent = procedure(aConnection: TsgcWSConnection_HTTPAPI; const aRequestInfo: THttpServerRequest; var aResponseInfo: THttpServerResponse) of object
—
OnHTTPRequest est le point d'entrée principal pour chaque requête HTTP que HTTP.SYS transmet au serveur (GET, POST, PUT, DELETE, HEAD...). aRequestInfo expose la requête décodée (Document, Method, Headers, ContentType, Content, QueryParams, Cookies, ContentLength, AuthExists/AuthUsername/AuthPassword, Stream) et aResponseInfo collecte la réponse que l'application souhaite renvoyer : définissez ResponseNo, ContentText (ou ContentStream / FileName pour les réponses binaires/fichier), ContentType, CustomHeaders, Date/Expires/LastModified et CacheControl selon vos besoins. Laissez aResponseInfo intact pour renvoyer la valeur par défaut HTTP 200, ou assignez ResponseNo à 404/500/... pour signaler des conditions d'erreur. Cet événement ne se déclenche pas pour les requêtes de mise à niveau WebSocket ; celles-ci sont acheminées via OnConnect / OnHandshake à la place.
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;