ReviewOS

zig-utils/zig-js

Implement FetchHeaders UWS H3 and Pico native adapters

#377
Closed chris opened this 9 days ago ·
9 days ago

Parent: #375

Implement the four foreign-object FetchHeaders adapters after the core boundary lands:

  • WebCore__FetchHeaders__createFromPicoHeaders_
  • WebCore__FetchHeaders__createFromUWS
  • WebCore__FetchHeaders__createFromH3
  • WebCore__FetchHeaders__toUWSResponse

Acceptance:

  • Pin and document every dereferenced request/response layout and response-kind value for the declared Home/Bun revisions.
  • Use a stable C adapter or exact versioned layout contract; never reinterpret arbitrary C++ objects from guessed Zig layouts.
  • Preserve raw header order, duplicate semantics, empty filtering, pseudo-header behavior, Set-Cookie separation, HTTP/3 restrictions, and Date/header state updates where applicable.
  • Null and unsupported adapter/version paths fail explicitly and safely.
  • Add exact-layout consumer fixtures, adapter integration tests, CI, docs, and Debug/ReleaseSafe evidence.

Children

  • 380 — exact PicoHeaders span adapter
  • 381 — versioned UWS/H3 request and response bridge
9 days ago

Decomposed by ABI risk: /zig-utils/zig-js/issues/380 covers the stable plain-data Pico span; /zig-utils/zig-js/issues/381 covers the three opaque C++ UWS/H3 boundaries through a versioned bridge. Implementing the Pico child first.

9 days ago

Pico child #380 is complete in 91c91b3f + 42bcd356. This umbrella now has one remaining child: #381 for the three opaque C++ UWS/H3 boundaries.

9 days ago

The UWS/H3 request half is complete via #382 (a9e909b4 + 727a1651). Of the original four foreign adapters, Pico + both request importers are now implemented; only toUWSResponse remains in #383.

9 days ago

All foreign adapters are complete: Pico #380 plus UWS/H3 bridge #381. The four original adapter symbols now have pinned layouts/callbacks and Debug/ReleaseSafe consumer evidence.

Sign in to comment on this issue.