TsgcHTTP3Client › Olaylar › OnPushPromise
Sunucu bir PUSH_PROMISE çerçevesiyle sunucu push'ını duyurduğunda tetiklenir.
property OnPushPromise: TsgcHTTP3PushPromiseEvent;
// TsgcHTTP3PushPromiseEvent = procedure(Sender: TObject; aPushId: Int64; const aHeaders: TStringList) of object
| Name | Type | Açıklama |
|---|---|---|
Sender | TObject | PUSH_PROMISE çerçevesini alan istemci. |
aPushId | Int64 | Söz verilen push'ın tanımlayıcısı; daha sonra push edilmiş yanıtla ilişkilendirmek veya iptal etmek için kullanılır. |
aHeaders | TStringList | Sunucunun push etmeyi planladığı kaynağın istek başlıkları; name=value çiftleri olarak. |
—
OnPushPromise, sunucu bir PUSH_PROMISE çerçevesi gönderdiğinde tetiklenir (RFC 9114 Bölüm 7.2.5); bu çerçeve, istemcinin açıkça talep etmediği bir kaynağı push etmeyi planladığını duyurur. aHeaders listesi, söz verilen kaynağı açıklayan istek başlıklarını (:path ve :authority sözde başlıkları dahil) tutar; böylece uygulama bunun yararlı olup olmadığına karar verebilir. Kaynak zaten önbellekteyse veya gerekli değilse reddetmek için aPushId ile CancelPush'u çağırın. Sunucu push'ı yalnızca istemci SetMaxPushId ile push sınırını yükselttiğinde sunulur.
procedure OnPushPromiseEvent(Sender: TObject; aPushId: Int64; const aHeaders: TStringList);
begin
Log('Push promised, id: ' + IntToStr(aPushId));
end;