Skip to content

Commit 6ffae79

Browse files
committed
Update context header per discussion resolution
1 parent 4447b50 commit 6ffae79

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

standards/request-response.md

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -504,15 +504,19 @@ Sps-Cors-Error: bad origin
504504
- __prod__ - Well-known value used to represent production customer configuration and can be supported as a static mode in some legacy services without full dynamic support. Usage of dynamically named configuration sets is preferred. When no request or response header is provided for `Sps-Execution-Context` this is interpreted as the default value.
505505
- An invalid or unsupported header value provided **MUST** result in a `400 - Bad Request` following standard [error format](errors.md#400-bad-request).
506506
- The header value **MUST** be at minimum 1 character in length and **MUST NOT** exceed a maximum length of 100 characters.
507-
- The header value **MUST** be case-insensitive.
508-
- The header value **MUST** conform to: `[A-Za-z0-9_-]`.
509-
- It **MUST** only contain ASCII letters (A–Z, a–z), digits (0–9), underscore (`_`), or hyphen (`-`).
507+
- The header value **MUST** be lowercase.
508+
- The header value **MUST** conform to: `[a-z0-9_-]`.
509+
- It **MUST** only contain ASCII lowercase letters (a–z), digits (0–9), underscore (`_`), or hyphen (`-`).
510510
- It **MUST NOT** contain accented/diacritic or non-ASCII characters.
511511
- The header value **SHOULD** contain human-readable tag for the context.
512512
- The original requested header value **SHOULD** be propagated to any outgoing requests to retain the context for downstream usage.
513513
- The header **MUST** be supplied in the response for every request containing the header, and match the original requested value.
514514
- The header **SHOULD** be supplied in the response for every request in general, if applicable to the API, even if just defaulting to __prod__.
515515

516+
```note
517+
The allowed character set is intentionally conservative and may expand in the future. Implementations should avoid hard-coding assumptions and be prepared for a broader set if the standard is updated.
518+
```
519+
516520
**Example(s)**:
517521

518522
```
@@ -523,7 +527,7 @@ Sps-Execution-Context: customer-testing
523527
Sps-Execution-Context: example-customer-configuration
524528
Sps-Execution-Context: example_customer_config
525529
Sps-Execution-Context: release-2025-10-07
526-
Sps-Execution-Context: JIRA-007-something-descriptive
530+
Sps-Execution-Context: jira-007-something-descriptive
527531
528532
// INCORRECT
529533
Sps-Execution-Context: // values must be at least a character long.
@@ -532,6 +536,7 @@ Sps-Execution-Context: customer testing // space not allowed
532536
Sps-Execution-Context: example@config // '@' not allowed
533537
Sps-Execution-Context: preprod\n // control/newline not allowed
534538
Sps-Execution-Context: Français // désolé, ASCII-only, s'il vous plaît
539+
Sps-Execution-Context: JIRA-007 // uppercase letters not allowed; use lowercase
535540
```
536541

537542
<hr />

0 commit comments

Comments
 (0)