TsgcHTTP2Client › Eventos › OnHTTP2ResponseFragment
Disparado para cada fragmento de resposta transmitido quando FragmentedData entrega dados à medida que chegam.
property OnHTTP2ResponseFragment: TsgcHTTP2ClientResponseFragmentEvent;
// TsgcHTTP2ClientResponseFragmentEvent = procedure(Sender: TObject; const Connection: TsgcHTTP2ConnectionClient; const Request: TsgcHTTP2RequestProperty; const Fragment: TsgcHTTP2ResponseFragmentProperty) of object
—
OnHTTP2ResponseFragment é gerado toda vez que um pacote de resposta parcial é recebido, para que o stream possa ser processado assim que os bytes chegam, em vez de esperar pela carga útil inteira. Normalmente é utilizado com streams HTTP/2 de longa duração ou em chunks (por exemplo, event streams ou endpoints estilo clockstream) e é habilitado definindo FragmentedData como h2fdAll (também gera OnHTTP2Response quando o último pacote chega) ou h2fdOnlyFragmented (apenas este evento é despachado). O parâmetro Fragment expõe a carga útil parcial por meio de Data, DataString e DataUTF8; o parâmetro Request identifica a requisição de origem.
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;