fed-sx-m1: 8b-bridge cleanup — remove dead helpers + duplicate test
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 34s
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 34s
Step 8b-bridge was actually completed in0f85bd96(Step 8b-start) using er-request-dict-to-proplist / er-proplist-to-dict plus er-spawn-fun to host the handler inside a real Erlang process. My previous commit (31ff1e6a) shipped a parallel set of helpers (er-http-req-of-sx, er-http-resp-to-sx and friends) plus a duplicate test under next/tests/http_listen_bridge.sh — the BIF body never referenced them, so they sat in runtime.sx as dead code while http_marshal.sh already covered the live marshalers. This commit: - deletes the 8 dead helpers from lib/erlang/runtime.sx - deletes the duplicate next/tests/http_listen_bridge.sh - rewrites next/README.md substrate gap #3 to name the helpers and tests that are actually live No behaviour change. Erlang conformance still 761/761; http_listen_bif 5/5, http_route 11/11, http_publish_fold 10/10, http_marshal 10/10.
This commit is contained in:
@@ -122,17 +122,20 @@ These three gaps block the remaining unchecked deliverables:
|
||||
unchanged.
|
||||
|
||||
3. **Dict ↔ proplist marshalling for `http:listen/2`** — **done 2026-06-05.**
|
||||
`er-bif-http-listen` now marshals the native server's request dict
|
||||
`er-bif-http-listen` marshals the native server's request dict
|
||||
(`{:method :path :query :headers :body}`) into the proplist shape
|
||||
`[{method, Bin}, {path, Bin}, {query, Bin}, {headers, [{Name, Value}]},
|
||||
{body, Bin}]` that `http_server:route/2` consumes, and converts the
|
||||
handler's response proplist back to `{:status :headers :body}` for the
|
||||
native server to serialise. Helpers (`er-http-req-of-sx`,
|
||||
`er-http-resp-to-sx`, `er-http-headers-of-sx`, `er-http-headers-to-sx`,
|
||||
`er-mk-proplist`, `er-proplist-get`, `er-binary->string`,
|
||||
`string->er-binary`) live alongside the BIF wrapper in
|
||||
`lib/erlang/runtime.sx`. Verified by `next/tests/http_listen_bridge.sh`
|
||||
(20 cases) including a `http_server:route/1` round-trip. Unblocks
|
||||
native server to serialise. Helpers (`er-request-dict-to-proplist`,
|
||||
`er-proplist-to-dict`, `er-of-sx-deep`, `er-to-sx-deep`,
|
||||
`er-dict-to-header-proplist`, `er-proplist-fill!`) live alongside the
|
||||
BIF wrapper in `lib/erlang/runtime.sx`. The BIF also spawns the handler
|
||||
into a real Erlang process via `er-spawn-fun` + `er-sched-run-all!`
|
||||
so `self()` / `gen_server:call` work inside route handlers (the kernel
|
||||
and projection gen_servers reach the handler this way). Verified by
|
||||
`next/tests/http_marshal.sh` and the live TCP smoke
|
||||
`next/tests/http_server_tcp.sh` / `http_server_start.sh`. Unblocks
|
||||
`Step 8b-start` (TCP listener spawn) and the curl-driven 9a-tcp / 9b-tcp
|
||||
smoke tests.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user