Skip to main content
WritingVideosSpeakingCodeAbout

SDK Toolbox docs

Standards

PHP ^8.316 pages

Docs for v0.0.1, from GitHub.

Pages in these docs

What the toolbox implements, and how far. “Experimental” marks a draft that is still changing: its feature may change in a minor release when the draft does.

HTTP and IETF

StandardStatusIn the toolbox
RFC 9110 HTTP SemanticsInternet Standardmethod safety and idempotency (§9.2) for retries; Retry-After (§10.2.3) in all three date forms; conditional requests (§13)
RFC 9111 HTTP CachingInternet Standarda private cache: freshness, validation, 304s, Vary, invalidation; no heuristic freshness
RFC 3986 URIInternet Standardparsing, resolution and dot-segment removal, tested against every §5.4 example
RFC 6585 Additional Status CodesProposed Standard428 and 429; 429 never cached
RFC 9457 Problem DetailsProposed Standardparsed as a consumer should (§3); mapped to exceptions by type
RFC 8288 Web LinkingProposed StandardLink parsing per Appendix B, for pagination and deprecation links
RFC 9745 Deprecation headerProposed Standardread, reported once per endpoint, strict mode for tests
RFC 8594 Sunset headerInformationalread alongside Deprecation
RFC 7240 PreferProposed StandardPrefer and Preference-Applied; the 202 polling pattern is convention, not RFC
RFC 7396 JSON Merge PatchProposed Standarda body, and diff() that refuses what Merge Patch can’t express
RFC 6902 JSON Patch, RFC 6901 JSON PointerProposed Standarda body builder with pointer validation
RFC 7578 multipart/form-dataProposed Standarda streamed body
RFC 9651 Structured FieldsProposed Standardlists, dictionaries, every bare item type, inner lists and parameters
RFC 9530 Digest FieldsProposed StandardContent-Digest, sha-256 and sha-512
RFC 9421 HTTP Message SignaturesProposed Standardsigning and verifying with hmac-sha256 and ed25519; no component parameters, RSA or ECDSA yet
RFC 7617 Basic, RFC 6750 BearerProposed Standardauthenticators; WWW-Authenticate challenges parsed (RFC 9110 §11.6.1)
RFC 6749 OAuth 2.0Proposed Standardclient credentials, authorisation code, refresh
RFC 7636 PKCEProposed StandardS256 only, for every client
RFC 8628 Device AuthorizationProposed Standardstart and poll
RFC 9700 OAuth Security BCPBest Current PracticePKCE everywhere, no implicit grant, single-flight refresh
draft-ietf-httpapi-ratelimit-headers-11Internet-Draft, expires 2026-11-24experimental: RateLimit and RateLimit-Policy read
draft-ietf-httpapi-idempotency-key-header-08Internet-Draftexperimental: keys sent and kept across retries
draft-ietf-httpapi-privacyInternet-Draft, in the RFC Editor queueno credentials over plain HTTP without opting in

W3C and others

StandardStatusIn the toolbox
W3C Trace Context Level 1Recommendationtraceparent and tracestate propagation
OpenTelemetry HTTP semantic conventionsStablea client span per attempt
Standard Webhooks 1.0.0Community specificationv1 and v1a verification, signing for tests

PHP-FIG

PSRUsed for
PSR-7, PSR-17every request and response
PSR-18the transport: any client, discovered or passed
PSR-3logging
PSR-14events
PSR-16the HTTP cache, token store and rate-limit store
PSR-20every clock

Not standards, but conventions the toolbox reads

  • X-RateLimit-* and RateLimit-Limit/Remaining/Reset, including GitHub’s;
  • retry-after-ms;
  • cursor, offset, page and Stripe-style starting_after pagination in response bodies;
  • bare (unquoted) Idempotency-Key values.