TsgcWebSocketServer_HTTPAPI | Tekstantwoord verzenden
Gebruik de gebeurtenis OnHTTPRequest om de HTTP-verzoeken af te handelen.
De klasse THttpServerRequest bevat de HTTP-verzoekgegevens.
- Document: het document dat de peer probeert te openen.
- Methode: de HTTP-methode ('GET', 'POST', enz.)
- Headers: de headers van het HTTP-verzoek.
- AcceptEncoding: variabele voor het accepteren van codering, voorbeeld: "gzip, deflate, br".
- ContentType: voorbeeld: "text/html"
- Content: inhoud van verzoek indien aanwezig.
- QueryParams: de queryparameters.
- Cookies: de cookies indien aanwezig.
- ContentLength: grootte van de inhoud.
- AuthExists, AuthUsername, AuthPassword: authenticatieverzoekgegevens.
- Stream: als het HTTP-verzoek een body heeft, is dit de stream van de body.
De klasse THttpServerResponse bevat de HTTP-responsgegevens.
- ContentText: is het antwoord als tekst.
- ContentType: voorbeeld: "text/html". Als u de ContentText met UTF8 wilt coderen, stel dan charset='utf-8' in. Voorbeeld: text/html; charset=utf-8
- CustomHeaders: als u uw eigen headers wilt versturen, gebruik dan deze variabele
- AuthRealm: als de server authenticatie vereist, stel dan deze variabele in.
- ResponseNo: het HTTP-antwoordnummer. Voorbeeld: 200 betekent dat het antwoord succesvol is.
- ContentStream: als de respons een stream bevat, stel deze hier in (de stream niet vrijgeven, dat gebeurt automatisch).
- FileName: als de respons een bestandsnaam is, stel hier het volledige pad naar de bestandsnaam in.
- Date, Expires, LastModified: datetime-variabelen van het antwoord.
- CacheControl: maakt het mogelijk het cachegedrag aan te passen.
Voorbeeld: als de server een GET-verzoek ontvangt voor het document "/test.html", stuur een OK-antwoord; anders stuur een 404 als het een GET-verzoek is voor een ander document, of fout 500 als het een andere methode is.
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;