Skip to content

Commit a1ea8ef

Browse files
committed
Refine header definition
1 parent d628b49 commit a1ea8ef

File tree

2 files changed

+33
-23
lines changed

2 files changed

+33
-23
lines changed

build.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
#!/bin/sh
22
mkdir -p build
3-
kramdown-rfc2629 webdav-push.mkd >build/webdav-push.xml && (cd build; xml2rfc --html webdav-push.xml && xml2rfc --text webdav-push.xml && xdg-open webdav-push.html)
3+
kramdown-rfc2629 webdav-push.mkd >build/webdav-push.xml && (cd build; xml2rfc --html webdav-push.xml && xml2rfc --text webdav-push.xml)
4+
5+
echo To view in a browser, run: xdg-open build/webdav-push.html
46

content.mkd

Lines changed: 30 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ The `push-register` element contains:
188188

189189
The `subscription` element specifies a subscription that shall be notified on updates and contains exactly one element with details about a specific subscription type. Within the scope of this document, only the `web-push-subscription` child element is defined (see {{transport-web-push}}).
190190

191-
To specify which updates the client wants to be notified about, it uses the `trigger` element, which itself can contain:
191+
To specify which updates the client wants to be notified about, it uses the `trigger` (((trigger))) element, which itself can contain:
192192

193193
* A `content-update` element to indicate the client's interest in notifications when the contents of the subscribed resource or its members change ("content update").
194194
* A `property-update` element to indicate the client's interest in notifications when the WebDAV properties of the subscribed resource or its members change ("property update").
@@ -341,39 +341,47 @@ Here, both the contents and the properties of the resource (or its members, depe
341341

342342
## Suppressing Notifications
343343

344-
Clients may not want to receive push notifications for changes they have induced themselves. They can indicate this with the `Push-Dont-Notify` header field, which is sent together with the request that causes the change.
344+
A client may not want to receive push notifications for a change that it induces itself. It can indicate this with the `Push-Dont-Notify` header field, which it sends together with the request that causes the change.
345345

346-
A server SHOULD NOT send push notifications that are triggered by the current operation to the subscriptions identified by the `Push-Dont-Notify` header.
346+
A server SHOULD NOT send push notifications that are triggered by the requested operation to the subscriptions identified by the `Push-Dont-Notify` header.
347347

348-
Definition (RFC 4918 syntax, like If Header). List of subscription identifiers / push resources, or `*` for no notifications. [^todo]
348+
Header name: "Push-Dont-Notify"(((Push-Dont-Notify)))
349+
Value syntax in ABNF with #rule extension as defined in {{Section 5.6.1 of RFC9110}}:
349350

350-
Example 1:
351+
Push-Dont-Notify = 1#(quoted-registration-url) / "*"
351352

352-
```
353-
PUT /file.txt HTTP/1.1
354-
Host: www.example.com
355-
Push-Dont-Notify: <https://up.example.net/yohd4yai5Phiz1wi>
353+
quoted-registration-url = quoted-string
354+
; absolute push registration URL
356355

357-
[…]
356+
Because URIs are not per se canonical, the URI MUST be provided in the exact form as it was originally provided by the server in the `Location` header.
358357

359-
HTTP/1.1 201 Created
360-
```
358+
Usage of the asterisk value (`*`) requests that the server doesn't send any notifications for the operation.
361359

362-
In this example, the client requests that the server doesn't send a push notification for the change in `file.txt` to the given push resource.
360+
Multiple values can be provided as a list and/or using multiple lines as described in {{Section 5.2 of RFC9110}}. If the asterisk is used, other values MUST NOT be sent.
363361

364-
Example 2:
362+
Example 1:
365363

366-
```
367-
DELETE /file.txt HTTP/1.1
368-
Host: www.example.com
369-
Push-Dont-Notify: *
364+
PUT /file.txt HTTP/1.1
365+
Host: www.example.com
366+
Push-Dont-Notify: <https://example.com/webdav/subscriptions/io6Efei4ooph>
367+
368+
[…]
369+
370+
HTTP/1.1 201 Created
370371

371-
[…]
372+
In this example, the client requests that the server doesn't send a push notification for the change in `file.txt` to the mentioned subscription.
372373

373-
HTTP/1.1 204 No Content
374-
```
374+
Example 2:
375+
376+
DELETE /file.txt HTTP/1.1
377+
Host: www.example.com
378+
Push-Dont-Notify: *
379+
380+
[…]
381+
382+
HTTP/1.1 204 No Content
375383

376-
In this example, the client requests that the server doesn't send push notifications because of the deletion to any push subscription.
384+
Here the client requests that the server doesn't send any push notification in the context of the deletion.
377385

378386

379387
## Rate Limiting

0 commit comments

Comments
 (0)