TsgcHTTP3Server › Methoden › SendResponse
Verstuurt een HTTP/3-antwoord (HEADERS- en DATA-frames) op een verzoekstream.
procedure SendResponse(const aQUICConn: TsgcQUICServerConnection; aStreamId: Int64; const aResponse: TsgcHTTP3Response);
| Naam | Type | Beschrijving |
|---|---|---|
aQUICConn | const TsgcQUICServerConnection | QUIC-verbinding waarnaar het antwoord wordt geschreven. |
aStreamId | Int64 | Identificator van de verzoekstream waartoe het antwoord behoort. |
aResponse | const TsgcHTTP3Response | Te versturen antwoord. Stel StatusCode, ContentType, optionele Headers en de Data-body in voor aanroep. |
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.
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;