TsgcWebSocketServer_HTTPAPI › Eventi › OnHTTPRequest
Viene generato quando il server riceve una richiesta HTTP in modo che l'applicazione possa costruire la risposta.
property OnHTTPRequest: TsgcWSHTTPAPIRequestEvent;
// TsgcWSHTTPAPIRequestEvent = procedure(aConnection: TsgcWSConnection_HTTPAPI; const aRequestInfo: THttpServerRequest; var aResponseInfo: THttpServerResponse) of object
—
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.
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;