TsgcHTTP2ClientEventos › OnHTTP2PushPromise

OnHTTP2PushPromise Evento

Se activa cuando el servidor inserta un recurso para que el cliente pueda aceptarlo o cancelarlo.

Sintaxis

property OnHTTP2PushPromise: TsgcHTTP2ClientPushPromiseEvent;
// TsgcHTTP2ClientPushPromiseEvent = procedure(Sender: TObject; const Connection: TsgcHTTP2ConnectionClient; const PushPromise: TsgcHTTP2_Frame_PushPromise; var Cancel: Boolean) of object

Valor Predeterminado

Observaciones

OnHTTP2PushPromise se activa cuando el servidor envía un frame PUSH_PROMISE, anunciando que está a punto de enviar un recurso adicional por iniciativa propia (por ejemplo, una imagen o un script asociado con una página que el cliente acaba de solicitar). El parámetro PushPromise describe el recurso prometido (método, URL, encabezados) para que la aplicación pueda decidir si le interesa. Establezca Cancel en True para rechazar el flujo enviado (el cliente enviará un RST_STREAM) o déjelo en False para aceptarlo; en ese caso, los datos se entregarán posteriormente a través de OnHTTP2Response / OnHTTP2ResponseFragment. El Server Push solo se recibe cuando Settings.EnablePush es True.

Ejemplo


oClient := TsgcHTTP2Client.Create(nil);
oClient.OnHTTP2PushPromise := OnHTTP2PushPromiseEvent;
oClient.Get('https://http2.golang.org/serverpush');

procedure OnHTTP2PushPromiseEvent(Sender: TObject; const Connection: TsgcHTTP2ConnectionClient;
  const PushPromise: TsgcHTTP2_Frame_PushPromise; var Cancel: Boolean);
begin
  if PushPromise.URL = '/serverpush/static/godocs.js' then
    Cancel := True
  else
    Cancel := False;
end;

Volver a Eventos