TsgcHTTP2Client › Ereignisse › OnHTTP2ResponseFragment
Wird für jedes gestreamte Antwortfragment ausgelöst, wenn FragmentedData Daten liefert, sobald sie eintreffen.
property OnHTTP2ResponseFragment: TsgcHTTP2ClientResponseFragmentEvent;
// TsgcHTTP2ClientResponseFragmentEvent = procedure(Sender: TObject; const Connection: TsgcHTTP2ConnectionClient; const Request: TsgcHTTP2RequestProperty; const Fragment: TsgcHTTP2ResponseFragmentProperty) of object
—
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.
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;