TsgcHTTP3Client › イベント › OnPushPromise
サーバーが PUSH_PROMISE フレームでサーバープッシュを通知したときに発生します。
property OnPushPromise: TsgcHTTP3PushPromiseEvent;
// TsgcHTTP3PushPromiseEvent = procedure(Sender: TObject; aPushId: Int64; const aHeaders: TStringList) of object
| 名前 | タイプ | 説明 |
|---|---|---|
Sender | TObject | PUSH_PROMISE フレームを受信したクライアント。 |
aPushId | Int64 | 約束されたプッシュの識別子。後でプッシュされたレスポンスを関連付けたり、キャンセルしたりするために使用されます。 |
aHeaders | TStringList | サーバーがプッシュしようとするリソースのリクエストヘッダー(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;