ReviewOS

home-lang/home

Port Bun S3 requester-pays signing semantics

#96
Closed chris opened this 10 days ago ·
10 days ago

Tracks the focused compatibility tranche for js/bun/s3/s3-requester-pays.test.ts under #66 and #81.

Scope:

  • support static and instance S3Client.file() option precedence
  • propagate requestPayer: true across PUT, GET, HEAD, DELETE, list, and multipart requests
  • include x-amz-request-payer in SigV4 signed-header metadata only when enabled
  • include requester-pays in presigned URL query parameters
  • activate the exact copied Bun fixture and add a permanent Home regression gate

Close once the exact 10-test fixture and full Home test gate pass.

10 days ago

Completed in f6703de20.

Implemented the underlying requester-pays path across static and instance S3Client.file(), PUT/GET/HEAD/DELETE, list, multipart initiation, and presigned URLs. Request operations now add x-amz-request-payer: requester and include it in SigV4 SignedHeaders only when requestPayer: true; presigned URLs use the canonical query parameter while retaining host as the signed header. File options override client options, matching Bun.

Verification:

  • exact copied js/bun/s3/s3-requester-pays.test.ts: 10 passed, 0 failed, 0 todo, 0 unsupported
  • ./pantry/.bin/zig build test -Dfilter=home_test --summary failures: passed

This advances #66 and #81.

Sign in to comment on this issue.