TsgcHTTP2ClientEvents › OnHTTP2ResponseFragment

OnHTTP2ResponseFragment Événement

Se déclenche pour chaque fragment de réponse streamé lorsque FragmentedData livre les données à leur arrivée.

Syntaxe

property OnHTTP2ResponseFragment: TsgcHTTP2ClientResponseFragmentEvent;
// TsgcHTTP2ClientResponseFragmentEvent = procedure(Sender: TObject; const Connection: TsgcHTTP2ConnectionClient; const Request: TsgcHTTP2RequestProperty; const Fragment: TsgcHTTP2ResponseFragmentProperty) of object

Valeur par défaut

Remarques

OnHTTP2ResponseFragment est déclenché chaque fois qu'un paquet de réponse partielle est reçu, permettant au flux d'être traité dès l'arrivée des octets au lieu d'attendre la charge utile entière. Il est typiquement utilisé avec des flux HTTP/2 longs ou fragmentés (par exemple des flux d'événements ou des points de terminaison de type clockstream) et est activé en définissant FragmentedData à h2fdAll (déclenche également OnHTTP2Response lors de l'arrivée du dernier paquet) ou h2fdOnlyFragmented (seul cet événement est distribué). Le paramètre Fragment expose la charge utile partielle via Data, DataString et DataUTF8 ; le paramètre Request identifie la requête d'origine.

Exemple


oClient := TsgcHTTP2Client.Create(nil);
oClient.OnHTTP2ResponseFragment := OnHTTP2ResponseFragmentEvent;
oClient.Get('https://http2.golang.org/clockstream');

procedure OnHTTP2ResponseFragmentEvent(Sender: TObject; const Connection: TsgcHTTP2ConnectionClient;
  const Request: TsgcHTTP2RequestProperty; const Fragment: TsgcHTTP2ResponseFragmentProperty);
begin
  ShowMessage(Fragment.DataString);
end;

Retour aux événements