TsgcWebSocketServer_HTTPAPIEvents › OnHTTPRequest

OnHTTPRequest Event

Se déclenche lorsque le serveur reçoit une requête HTTP afin que l'application puisse construire la réponse.

Syntaxe

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

Valeur par défaut

Remarques

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.

Exemple


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;

Retour aux événements