TsgcHTTP3Client › Zdarzenia › OnPushPromise
Uruchamiane, gdy serwer ogłasza wypychanie przez serwer za pomocą ramki PUSH_PROMISE.
property OnPushPromise: TsgcHTTP3PushPromiseEvent;
// TsgcHTTP3PushPromiseEvent = procedure(Sender: TObject; aPushId: Int64; const aHeaders: TStringList) of object
| Nazwa | Typ | Opis |
|---|---|---|
Sender | TObject | Klient, który odebrał ramkę PUSH_PROMISE. |
aPushId | Int64 | Identyfikator obiecanego wypychania, używany później do skorelowania wypchanej odpowiedzi lub jej anulowania. |
aHeaders | TStringList | Nagłówki żądania zasobu, który serwer zamierza wypchnąć, w postaci par nazwa=wartość. |
—
OnPushPromise jest uruchamiane, gdy serwer wysyła ramkę PUSH_PROMISE (RFC 9114, sekcja 7.2.5), zapowiadając, że zamierza wypchnąć zasób, którego klient nie zażądał jawnie. Lista aHeaders zawiera nagłówki żądania (w tym pseudonagłówki :path i :authority) opisujące obiecany zasób, dzięki czemu aplikacja może zdecydować, czy jest on przydatny. Jeśli zasób jest już w pamięci podręcznej lub nie jest potrzebny, wywołaj CancelPush z aPushId, aby go odrzucić. Wypychanie przez serwer jest oferowane dopiero po tym, jak klient podwyższy limit wypychania za pomocą SetMaxPushId.
procedure OnPushPromiseEvent(Sender: TObject; aPushId: Int64; const aHeaders: TStringList);
begin
Log('Push promised, id: ' + IntToStr(aPushId));
end;