TsgcHTTP2ClientEreignisse › OnHTTP2ResponseFragment

OnHTTP2ResponseFragment Ereignis

Wird für jedes gestreamte Antwortfragment ausgelöst, wenn FragmentedData Daten liefert, sobald sie eintreffen.

Syntax

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

Standardwert

Hinweise

OnHTTP2ResponseFragment wird jedes Mal ausgelöst, wenn ein partielles Antwortpaket empfangen wird, sodass der Stream verarbeitet werden kann, sobald die Bytes eintreffen, anstatt auf die gesamte Nutzlast zu warten. Es wird typischerweise mit langlebigen oder gechunkten HTTP/2-Streams verwendet (zum Beispiel Event-Streams oder Clockstream-artige Endpunkte) und wird aktiviert, indem FragmentedData auf h2fdAll (löst auch OnHTTP2Response aus, wenn das letzte Paket eintrifft) oder h2fdOnlyFragmented (nur dieses Ereignis wird versendet) gesetzt wird. Der Parameter Fragment macht die partielle Nutzlast über Data, DataString und DataUTF8 sichtbar; der Parameter Request identifiziert die ursprüngliche Anfrage.

Beispiel


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;

Zurück zu Ereignissen