ReviewOS

home-lang/home

Port Bun S3 ListObjectsV2 request and XML semantics

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

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

Scope:

  • canonical ListObjectsV2 option ordering and percent-encoding
  • static versus instance endpoint path behavior
  • signed request headers and request-option overrides
  • typed invalid-argument, missing-credential, and S3 response errors
  • parse scalar fields, contents, owners, and common prefixes from S3 XML
  • keep malformed and very large response parsing bounded
  • activate the exact copied fixture and add a permanent Home regression gate

The copied fixture has 35 deterministic local tests plus a credential-gated live-R2 suite.

10 days ago

Completed in dd63b2218.

Implemented canonical ListObjectsV2 query ordering/encoding, static and instance endpoint paths, signed request overrides, typed argument/credential/S3 response errors, and bounded forward XML parsing for scalars, contents, owners, and common prefixes.

Verification:

  • exact copied js/bun/s3/s3-list-objects.test.ts: 35 passed, 0 failed, 0 unsupported
  • the fixture’s sole TODO is its own secret-gated live-R2 suite
  • 40,000-object response and 5 MB malformed XML performance regression pass
  • ./pantry/.bin/zig build test -Dfilter=home_test --summary failures: passed

This advances #66 and #81.

Sign in to comment on this issue.