TsgcHTTP3Client › Zdarzenia › OnPushPromise

OnPushPromise Zdarzenie

Uruchamiane, gdy serwer ogłasza wypychanie przez serwer za pomocą ramki PUSH_PROMISE.

Składnia

property OnPushPromise: TsgcHTTP3PushPromiseEvent;
// TsgcHTTP3PushPromiseEvent = procedure(Sender: TObject; aPushId: Int64; const aHeaders: TStringList) of object

Parametry

NazwaTypOpis
SenderTObjectKlient, który odebrał ramkę PUSH_PROMISE.
aPushIdInt64Identyfikator obiecanego wypychania, używany później do skorelowania wypchanej odpowiedzi lub jej anulowania.
aHeadersTStringListNagłówki żądania zasobu, który serwer zamierza wypchnąć, w postaci par nazwa=wartość.

Wartość domyślna

—

Uwagi

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.

Przykład


procedure OnPushPromiseEvent(Sender: TObject; aPushId: Int64; const aHeaders: TStringList);
begin
  Log('Push promised, id: ' + IntToStr(aPushId));
end;

Powrót do Zdarzeń