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;