TsgcHTTP3Server › Yöntemler › SendResponse
Bir istek akışında HTTP/3 yanıtı (HEADERS ve DATA çerçeveleri) gönderir.
procedure SendResponse(const aQUICConn: TsgcQUICServerConnection; aStreamId: Int64; const aResponse: TsgcHTTP3Response);
| Name | Type | Açıklama |
|---|---|---|
aQUICConn | const TsgcQUICServerConnection | Yanıtın yazıldığı QUIC bağlantısı. |
aStreamId | Int64 | Yanıtın ait olduğu istek akışının tanımlayıcısı. |
aResponse | const TsgcHTTP3Response | Gönderilecek yanıt. Çağırmadan önce StatusCode, ContentType, isteğe bağlı Headers ve Data gövdesini ayarlayın. |
SendResponse, yanıt başlıklarını bir HEADERS çerçevesine QPACK ile kodlar, yanıtın gövdesi varsa bir DATA çerçevesi ekler ve her ikisini de QUIC üzerinden istek akışına yazar. Durum kodu :status sözde başlığında gönderilir ve gövde mevcut olduğunda otomatik olarak bir content-length başlığı eklenir.
Normal istek akışında SendResponse çağırmanıza gerek yoktur: sunucu bir TsgcHTTP3Response oluşturur (StatusCode varsayılan olarak 200), OnH3Request'i tetikler ve uygulamanın onu doldurmasına izin verir, ardından otomatik olarak gönderir. SendResponse, bu akış dışında bir yanıt üretilmesi gereken gelişmiş senaryolar için açığa çıkarılmıştır; ayrıca SendPush tarafından dahili olarak da kullanılır.
oResponse := TsgcHTTP3Response.Create;
try
oResponse.StatusCode := 200;
oResponse.ContentType := 'text/plain';
oResponse.Data := TEncoding.UTF8.GetBytes('Hello HTTP/3');
oServer.SendResponse(aConnection, aStreamId, oResponse);
finally
oResponse.Free;
end;