TsgcHTTP3Client › 事件 › OnPushPromise

OnPushPromise 事件

当服务器通过 PUSH_PROMISE 帧通告服务器推送时触发。

语法

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

参数

名称类型描述
SenderTObject接收到 PUSH_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;

返回事件