TsgcHTTP3Client › イベント › OnPushPromise

OnPushPromise イベント

サーバーが PUSH_PROMISE フレームでサーバープッシュを通知したときに発生します。

構文

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

パラメータ

名前タイプ説明
SenderTObjectPUSH_PROMISE フレームを受信したクライアント。
aPushIdInt64約束されたプッシュの識別子。後でプッシュされたレスポンスを関連付けたり、キャンセルしたりするために使用されます。
aHeadersTStringListサーバーがプッシュしようとするリソースのリクエストヘッダー(name=value ペア形式)。

デフォルト値

—

解説

OnPushPromise は、サーバーが PUSH_PROMISE フレーム(RFC 9114 セクション 7.2.5)を送信したときに発生します。これはクライアントが明示的にリクエストしていないリソースをプッシュしようとしていることを通知します。aHeaders リストには、約束されたリソースを説明するリクエストヘッダー(:path および :authority 疑似ヘッダーを含む)が格納されており、アプリケーションはそれが有用かどうかを判断できます。リソースが既にキャッシュされているか不要な場合は、aPushId を指定して CancelPush を呼び出して拒否してください。サーバープッシュは、クライアントが SetMaxPushId でプッシュ制限を引き上げた後にのみ提供されます。

使用例


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

イベントに戻る