TsgcHTTP2Client › Eventos › OnHTTP2ResponseFragment
Se activa para cada fragmento de respuesta transmitido cuando FragmentedData entrega los datos según van llegando.
property OnHTTP2ResponseFragment: TsgcHTTP2ClientResponseFragmentEvent;
// TsgcHTTP2ClientResponseFragmentEvent = procedure(Sender: TObject; const Connection: TsgcHTTP2ConnectionClient; const Request: TsgcHTTP2RequestProperty; const Fragment: TsgcHTTP2ResponseFragmentProperty) of object
—
OnHTTP2ResponseFragment se activa cada vez que se recibe un paquete de respuesta parcial, de modo que el flujo puede procesarse en cuanto llegan los bytes en lugar de esperar toda la carga útil. Se utiliza típicamente con flujos HTTP/2 de larga duración o fragmentados (por ejemplo, flujos de eventos o endpoints de estilo clockstream) y se habilita estableciendo FragmentedData en h2fdAll (también activa OnHTTP2Response cuando llega el último paquete) o h2fdOnlyFragmented (solo se despacha este evento). El parámetro Fragment expone la carga útil parcial a través de Data, DataString y DataUTF8; el parámetro Request identifica la solicitud de origen.
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;