TsgcHTTP2ClientEventos › OnHTTP2PushPromise

OnHTTP2PushPromise Event

Dispara quando o servidor envia (push) um recurso para que o cliente possa aceitá-lo ou cancelá-lo.

Sintaxe

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

Valor Padrão

Observações

OnHTTP2PushPromise é gerado quando o servidor envia um frame PUSH_PROMISE, anunciando que está prestes a fazer push de um recurso adicional por iniciativa própria (por exemplo, uma imagem ou script associado a uma página que o cliente acabou de requisitar). O parâmetro PushPromise descreve o recurso prometido (método, URL, cabeçalhos) para que a aplicação possa decidir se ele é interessante. Defina Cancel como True para rejeitar o stream enviado (o cliente enviará um RST_STREAM) ou deixe-o como False para aceitá-lo, caso em que os dados serão entregues posteriormente por meio de OnHTTP2Response / OnHTTP2ResponseFragment. O server push só é recebido quando Settings.EnablePush é True.

Exemplo


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;

Voltar para Eventos