- Replace form_urlencoded with RFC 3986 compliant URI encoding - Implement aws_uri_encode() matching AWS SigV4 spec exactly - Unreserved chars (A-Z,a-z,0-9,-,_,.,~) not encoded - All other chars percent-encoded with uppercase hex - Preserve slashes in paths, encode in query params - Normalize empty paths to '/' per AWS spec - Fix test expectations (body hash, HMAC values) - Add comprehensive SigV4 signature determinism test This fixes the canonicalization mismatch that caused signature validation failures in T047. Auth can now be enabled for production. Refs: T058.S1
49 lines
1.3 KiB
YAML
49 lines
1.3 KiB
YAML
id: T056
|
|
name: FlashDNS Pagination
|
|
goal: Implement pagination for FlashDNS Zone and Record listing APIs
|
|
status: planned
|
|
priority: P2
|
|
owner: peerB
|
|
created: 2025-12-12
|
|
depends_on: []
|
|
blocks: []
|
|
|
|
context: |
|
|
**Findings from T049 Audit:**
|
|
- flashdns/crates/flashdns-server/src/zone_service.rs: // TODO: Implement pagination using page_size and page_token
|
|
- flashdns/crates/flashdns-server/src/record_service.rs: // TODO: Implement pagination using page_size and page_token
|
|
|
|
**Strategic Value:**
|
|
- Improves API usability for large number of zones/records.
|
|
- Prevents API from returning excessively large responses.
|
|
|
|
acceptance:
|
|
- RangeRequest and RangeResponse include page_size, page_token, next_page_token
|
|
- Zone and Record listing APIs respect pagination parameters
|
|
- Integration tests for pagination on both services
|
|
|
|
steps:
|
|
- step: S1
|
|
name: API Definition
|
|
done: Update proto definitions for pagination
|
|
status: pending
|
|
owner: peerB
|
|
priority: P1
|
|
|
|
- step: S2
|
|
name: Backend Implementation
|
|
done: Implement pagination logic in Zone and Record services
|
|
status: pending
|
|
owner: peerB
|
|
priority: P1
|
|
|
|
- step: S3
|
|
name: Testing
|
|
done: Add integration tests for pagination
|
|
status: pending
|
|
owner: peerB
|
|
priority: P1
|
|
|
|
evidence: []
|
|
notes: |
|
|
Standard API pattern for list operations.
|