Skip to content

Commit e531eaf

Browse files
committed
uses structured field issue #6
1 parent cdcc9ea commit e531eaf

File tree

1 file changed

+6
-9
lines changed

1 file changed

+6
-9
lines changed

draft-ietf-httpapi-idempotency-key-header.md

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -65,20 +65,18 @@ An idempotency key is a unique value generated by the client which the resource
6565

6666
## Syntax
6767

68-
The `Idempotency-Key` request header field describes
6968

69+
`Idempotency-Key` is an Item Structured Header {{!RFC8941}}. Its value MUST be a String (Section 3.3.3 of {{!RFC8941}}. Its ABNF is:
7070

71-
Idempotency-Key = idempotency-key-value
72-
73-
idempotency-key-value = opaque-value
74-
opaque-value = DQUOTE *idempotencyvalue DQUOTE
75-
idempotencyvalue = %x21 / %x23-7E / obs-text
76-
; VCHAR except double quotes, plus obs-text
71+
Idempotency-Key = sf-string
72+
sf-string = DQUOTE *chr DQUOTE
73+
chr = unescaped / escaped
74+
unescaped = %x20-21 / %x23-5B / %x5D-7E
75+
escaped = "\" ( DQUOTE / "\" )
7776

7877

7978
Clients MUST NOT include more than one `Idempotency-Key` header field in the same request.
8079

81-
8280
The following example shows an idempotency key using `UUID` {{!RFC4122}}:
8381

8482
Idempotency-Key: "8e03978e-40d5-43e8-bc93-6894a57f9324"
@@ -339,4 +337,3 @@ The rules below are defined in {{!RFC7230}}:
339337
The authors would like to thank Mark Nottingham for his support for this Internet Draft. We would like to acknowledge that this draft is inspired by Idempotency related patterns described in API documentation of [PayPal](https://github.com/paypal/api-standards/blob/master/patterns.md#idempotency) and [Stripe](https://stripe.com/docs/idempotency) as well as Internet Draft on [POST Once Exactly](https://tools.ietf.org/html/draft-nottingham-http-poe-00) authored by Mark Nottingham.
340338

341339
The authors take all responsibility for errors and omissions.
342-

0 commit comments

Comments
 (0)