feat: implement scoped join attempts and tickets (#10)
quality-gate / quality (push) Successful in 1m1s
quality-gate / quality (push) Successful in 1m1s
Closes #10
This commit is contained in:
@@ -33,6 +33,7 @@ the same value as a required query parameter.
|
||||
| `GET` | `/v1/sessions` | Browse compatible public sessions. |
|
||||
| `GET` | `/v1/sessions/{listingId}` | Resolve a public or explicitly shared unlisted listing. |
|
||||
| `POST` | `/v1/join-attempts` | Authorize and create a short-lived join attempt. |
|
||||
| `DELETE` | `/v1/join-attempts/{attemptId}` | Cancel an attempt using its client punch capability. |
|
||||
| `GET` | `/v1/sessions/{listingId}/join-attempts` | Let an authenticated host poll pending attempts. |
|
||||
| `POST` | `/v1/join-attempts/{attemptId}/outcome` | Report a bounded connection outcome. |
|
||||
| `GET` | `/health/live` | Report that the HTTP process is alive. |
|
||||
@@ -49,6 +50,11 @@ for mutation operations are carried in their request bodies. Public browser
|
||||
responses contain no IP endpoints, lease tokens, punch capabilities, connection
|
||||
tickets, player identifiers, or gameplay state.
|
||||
|
||||
Attempt cancellation sends the short-lived client punch capability in
|
||||
`X-Rendezvous-Client-Punch-Capability`. Join creation uses the observed HTTP
|
||||
source only for a process-keyed, short-lived idempotency/abuse scope; this is not
|
||||
player authentication and is never returned to callers.
|
||||
|
||||
## Idempotency, cursors, and retries
|
||||
|
||||
Registration and join creation require a caller-generated visible-ASCII
|
||||
|
||||
Reference in New Issue
Block a user