TsgcHTTP3Server › Yöntemler › SendResponse

SendResponse Yöntem

Bir istek akışında HTTP/3 yanıtı (HEADERS ve DATA çerçeveleri) gönderir.

Sözdizimi

procedure SendResponse(const aQUICConn: TsgcQUICServerConnection; aStreamId: Int64; const aResponse: TsgcHTTP3Response);

Parametreler

NameTypeAçıklama
aQUICConnconst TsgcQUICServerConnectionYanıtın yazıldığı QUIC bağlantısı.
aStreamIdInt64Yanıtın ait olduğu istek akışının tanımlayıcısı.
aResponseconst TsgcHTTP3ResponseGönderilecek yanıt. Çağırmadan önce StatusCode, ContentType, isteğe bağlı Headers ve Data gövdesini ayarlayın.

Remarks

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.

Örnek


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;

Yöntemlere Dön