TsgcHTTP3Server › Methoden › SendResponse

SendResponse Methode

Verstuurt een HTTP/3-antwoord (HEADERS- en DATA-frames) op een verzoekstream.

Syntaxis

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

Parameters

NaamTypeBeschrijving
aQUICConnconst TsgcQUICServerConnectionQUIC-verbinding waarnaar het antwoord wordt geschreven.
aStreamIdInt64Identificator van de verzoekstream waartoe het antwoord behoort.
aResponseconst TsgcHTTP3ResponseTe versturen antwoord. Stel StatusCode, ContentType, optionele Headers en de Data-body in voor aanroep.

Opmerkingen

SendResponse codeert de antwoordheaders met QPACK in een HEADERS-frame, voegt een DATA-frame toe wanneer het antwoord een body heeft en schrijft beide naar de verzoekstream via QUIC. De statuscode wordt verstuurd in de :status-pseudo-header en een content-length-header wordt automatisch toegevoegd wanneer een body aanwezig is.

In de normale verzoekstroom hoeft u SendResponse niet aan te roepen: de server maakt een TsgcHTTP3Response (met StatusCode standaard op 200), activeert OnH3Request zodat de toepassing deze kan invullen, en verstuurt deze vervolgens automatisch. SendResponse is beschikbaar voor geavanceerde scenario's waarbij een antwoord buiten die stroom moet worden geproduceerd, en wordt ook intern gebruikt door SendPush.

Voorbeeld


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;

Terug naar methoden