TsgcHTTP2Client › Événements › OnHTTP2PushPromise
Se déclenche lorsque le serveur envoie une ressource en push afin que le client puisse l'accepter ou l'annuler.
property OnHTTP2PushPromise: TsgcHTTP2ClientPushPromiseEvent;
// TsgcHTTP2ClientPushPromiseEvent = procedure(Sender: TObject; const Connection: TsgcHTTP2ConnectionClient; const PushPromise: TsgcHTTP2_Frame_PushPromise; var Cancel: Boolean) of object
—
OnHTTP2PushPromise est déclenché lorsque le serveur envoie une trame PUSH_PROMISE, annonçant qu'il est sur le point de pousser une ressource supplémentaire de sa propre initiative (par exemple une image ou un script associé à une page que le client vient de demander). Le paramètre PushPromise décrit la ressource promise (méthode, URL, en-têtes) afin que l'application puisse décider si elle est intéressante. Définissez Cancel à True pour rejeter le flux poussé (le client enverra un RST_STREAM) ou laissez-le à False pour l'accepter, auquel cas les données seront livrées ultérieurement via OnHTTP2Response / OnHTTP2ResponseFragment. Le server push n'est reçu que lorsque Settings.EnablePush est True.
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;