TsgcWebSocketServer_HTTPAPI | Send Text Response
HTTP İsteklerini işlemek için OnHTTPRequest olayını kullanın.
THttpServerRequest sınıfı HTTP İstek Verilerini içerir.
- Document: eşin erişmeye çalıştığı Belge.
- Method: HTTP Yöntemi ('GET', 'POST', vb.)
- Headers: HTTP isteğinin Header'ları.
- AcceptEncoding: accept encoding değişkeni, örnek: "gzip, deflate, br".
- ContentType: örnek: "text/html"
- Content: varsa isteğin içeriği.
-
QueryParams: sorgu parametreleri.
- Cookies: varsa çerezler.
- ContentLength: içeriğin boyutu.
- AuthExists, AuthUsername, AuthPassword: kimlik doğrulama isteği verisi.
- Stream: http isteğinin bir gövdesi varsa, bu gövdenin stream'idir.
THttpServerResponse sınıfı HTTP yanıt Verilerini içerir.
-
ContentText: yanıtın metin halidir.
- ContentType: örnek: "text/html". ContentText'i UTF8 ile kodlamak istiyorsanız, charset='utf-8' ayarlayın. Örnek: text/html; charset=utf-8
- CustomHeaders: kendi başlıklarınızı göndermeniz gerekiyorsa bu değişkeni kullanın
- AuthRealm: sunucu kimlik doğrulama gerektiriyorsa, bu değişkeni ayarlayın.
- ResponseNo: HTTP yanıt numarası. Örnek: 200, yanıtın başarılı olduğu anlamına gelir.
- ContentStream: yanıt bir stream içeriyorsa, buraya ayarlayın (stream'i serbest bırakmayın, otomatik olarak serbest bırakılacaktır).
- FileName: yanıt bir dosya adıysa, dosya adının tam yolunu buraya ayarlayın.
- Date, Expires, LastModified: yanıtın tarih saat değişkenleri.
- CacheControl: önbellek davranışının özelleştirilmesine olanak tanır.
Örnek: sunucu "/test.html" belgesi için bir GET isteği alırsa, bir OK yanıtı gönderin; aksi takdirde başka bir belge için bir GET isteğiyse 404, farklı bir yöntemse 500 hatası gönderin.
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;