TsgcHTTP3Server › Méthodes › SendResponse

SendResponse Méthode

Envoie une réponse HTTP/3 (trames HEADERS et DATA) sur un flux de requête.

Syntaxe

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

Paramètres

NomTypeDescription
aQUICConnconst TsgcQUICServerConnectionConnexion QUIC sur laquelle la réponse est écrite.
aStreamIdInt64Identifiant du flux de requête auquel appartient la réponse.
aResponseconst TsgcHTTP3ResponseRéponse à envoyer. Définissez StatusCode, ContentType, les en-têtes optionnels et le corps Data avant l'appel.

Remarques

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.

Exemple


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;

Retour aux méthodes