TsgcHTTP3Client › Methoden › CancelPush
Sendet ein CANCEL_PUSH-Frame, das einen durch seine Push-ID identifizierten Server-Push ablehnt.
procedure CancelPush(aPushId: Int64);
| Name | Typ | Beschreibung |
|---|---|---|
aPushId | Int64 | Push-ID, die abgelehnt werden soll, wie von OnPushPromise gemeldet. |
Keine.
CancelPush sendet einen CANCEL_PUSH-Frame auf dem Steuerungs-Stream des Clients, wie in RFC 9114 Abschnitt 7.2.3 definiert. Er teilt dem Server mit, dass der Client an einem zugesagten Push nicht interessiert ist, sodass der Server ihn nicht weiter senden oder gar nicht erst beginnen kann.
Der typische Ablauf besteht darin, die versprochenen Anfrage-Header in OnPushPromise zu prüfen, zu entscheiden, dass die Ressource bereits im Cache liegt oder nicht gewünscht ist, und CancelPush mit dieser Push-ID aufzurufen. Ein Push, der nicht abgebrochen wird, wird über OnPush zugestellt.
Der Aufruf bewirkt nichts, wenn der Control-Stream noch nicht geöffnet ist, das heißt, der Client muss verbunden sein, bevor ein Push abgebrochen wird.
procedure OnPushPromiseEvent(Sender: TObject; aPushId: Int64;
const aHeaders: TStringList);
begin
// refuse every promised push
oClient.CancelPush(aPushId);
end;