TsgcHTTP2Client › Gebeurtenissen › OnHTTP2ResponseFragment
Wordt geactiveerd voor elk gestreamd antwoordfragment wanneer FragmentedData gegevens aflevert zodra ze arriveren.
property OnHTTP2ResponseFragment: TsgcHTTP2ClientResponseFragmentEvent;
// TsgcHTTP2ClientResponseFragmentEvent = procedure(Sender: TObject; const Connection: TsgcHTTP2ConnectionClient; const Request: TsgcHTTP2RequestProperty; const Fragment: TsgcHTTP2ResponseFragmentProperty) of object
—
OnHTTP2ResponseFragment wordt geactiveerd elke keer dat een gedeeltelijk antwoordpakket wordt ontvangen, zodat de stream kan worden verwerkt zodra de bytes beschikbaar zijn in plaats van te wachten op de volledige payload. Het wordt doorgaans gebruikt bij langlopende of gesegmenteerde HTTP/2-streams (bijvoorbeeld event-streams of clockstream-stijl eindpunten) en wordt ingeschakeld door FragmentedData in te stellen op h2fdAll (activeert ook OnHTTP2Response wanneer het laatste pakket arriveert) of h2fdOnlyFragmented (alleen deze gebeurtenis wordt verzonden). De parameter Fragment geeft de gedeeltelijke payload bloot via Data, DataString en DataUTF8; de parameter Request identificeert het oorspronkelijke verzoek.
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;