TsgcHTTP3Server › Méthodes › SendResponse
Envoie une réponse HTTP/3 (trames HEADERS et DATA) sur un flux de requête.
procedure SendResponse(const aQUICConn: TsgcQUICServerConnection; aStreamId: Int64; const aResponse: TsgcHTTP3Response);
| Nom | Type | Description |
|---|---|---|
aQUICConn | const TsgcQUICServerConnection | Connexion QUIC sur laquelle la réponse est écrite. |
aStreamId | Int64 | Identifiant du flux de requête auquel appartient la réponse. |
aResponse | const TsgcHTTP3Response | Réponse à envoyer. Définissez StatusCode, ContentType, les en-têtes optionnels et le corps Data avant l'appel. |
SendResponse encode les en-têtes de réponse avec QPACK dans une trame HEADERS, ajoute une trame DATA lorsque la réponse a un corps et écrit les deux dans le flux de requête via QUIC. Le code de statut est envoyé dans le pseudo-en-tête :status et un en-tête content-length est ajouté automatiquement lorsqu'un corps est présent.
Dans le flux de requête normal, vous n'avez pas besoin d'appeler SendResponse : le serveur crée un TsgcHTTP3Response (avec StatusCode par défaut à 200), déclenche OnH3Request pour que l'application puisse le remplir, puis l'envoie automatiquement. SendResponse est exposé pour les scénarios avancés où une réponse doit être produite en dehors de ce flux, et il est également utilisé en interne par 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;