TsgcWebSocketServer_HTTPAPIEventi › OnHTTPRequest

OnHTTPRequest Evento

Viene generato quando il server riceve una richiesta HTTP in modo che l'applicazione possa costruire la risposta.

Sintassi

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

Valore predefinito

Note

OnHTTPRequest è il punto di ingresso principale per ogni richiesta HTTP che HTTP.SYS consegna al server (GET, POST, PUT, DELETE, HEAD...). aRequestInfo espone la richiesta decodificata (Document, Method, Headers, ContentType, Content, QueryParams, Cookies, ContentLength, AuthExists/AuthUsername/AuthPassword, Stream) e aResponseInfo raccoglie la risposta che l'applicazione vuole inviare: impostare ResponseNo, ContentText (o ContentStream / FileName per risposte binarie/file), ContentType, CustomHeaders, Date/Expires/LastModified e CacheControl secondo le necessità. Lasciare aResponseInfo invariato per restituire il valore HTTP 200 predefinito, oppure assegnare ResponseNo a 404/500/... per segnalare condizioni di errore. Questo evento non si genera per le richieste di upgrade WebSocket; queste vengono invece indirizzate tramite OnConnect / OnHandshake.

Esempio


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;

Torna agli Eventi