TsgcHTTP2Client › Zdarzenia › OnHTTP2ResponseFragment
Wywoływane dla każdego fragmentu odpowiedzi strumieniowanej, gdy FragmentedData dostarcza dane w miarę ich nadchodzenia.
property OnHTTP2ResponseFragment: TsgcHTTP2ClientResponseFragmentEvent;
// TsgcHTTP2ClientResponseFragmentEvent = procedure(Sender: TObject; const Connection: TsgcHTTP2ConnectionClient; const Request: TsgcHTTP2RequestProperty; const Fragment: TsgcHTTP2ResponseFragmentProperty) of object
—
OnHTTP2ResponseFragment jest wywoływane za każdym razem, gdy odbierany jest częściowy pakiet odpowiedzi, dzięki czemu strumień może być przetwarzany natychmiast po nadejściu bajtów, bez konieczności oczekiwania na cały ładunek. Zazwyczaj jest używane z długotrwałymi lub fragmentowanymi strumieniami HTTP/2 (np. strumieniami zdarzeń lub punktami końcowymi w stylu clockstream) i jest włączane przez ustawienie FragmentedData na h2fdAll (wywołuje również OnHTTP2Response po odebraniu ostatniego pakietu) lub h2fdOnlyFragmented (wywoływane jest tylko to zdarzenie). Parametr Fragment udostępnia częściowy ładunek przez właściwości Data, DataString i DataUTF8; parametr Request identyfikuje żądanie źródłowe.
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;