TsgcHTTP2ClientGebeurtenissen › OnHTTP2ResponseFragment

OnHTTP2ResponseFragment Gebeurtenis

Wordt geactiveerd voor elk gestreamd antwoordfragment wanneer FragmentedData gegevens aflevert zodra ze arriveren.

Syntaxis

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

Standaardwaarde

Opmerkingen

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.

Voorbeeld


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;

Terug naar gebeurtenissen