TsgcHTTP2ClientZdarzenia › OnHTTP2ResponseFragment

OnHTTP2ResponseFragment Zdarzenie

Wywoływane dla każdego fragmentu odpowiedzi strumieniowanej, gdy FragmentedData dostarcza dane w miarę ich nadchodzenia.

Składnia

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

Wartość domyślna

Uwagi

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.

Przykład


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;

Powrót do Zdarzeń