You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The HTTP stack lands in the standard library.
Highlights since v9.3.3:
- lib/http-server: a single-threaded, platform-neutral HTTP server. Route
patterns (literal / :name / * tail, 405 with Allow, 404 otherwise), route
groups, global / group / per-route middleware, params and query strings,
static files, json / text / html responses and an access logger; driven by
its own poll loop (run) or one step at a time (runOnce). HTTP framing and
keep-alive live in lib-winsock-base.fun; the Linux/macOS poll backend is
wired, the Windows message-pump driver is still a follow-up.
- lib/http-client: a one-call blocking client, HttpClient(args) ->
[rc, code, message, headers, body], over the host's lib-ajax backend.
- lib-ajax.fun (Windows) gains the same Http(args) helper as lib-ajax-unx, so
HttpClient is one call on every platform: it forces the synchronous
transfer, exposes the final response block as Ajax.headers (lowercased
keys) and returns the same five-field result set.
- getapi accepts a variadic: <n> mark (libffi ffi_prep_cif_var), required on
Darwin arm64; curl_easy_setopt uses it, so the lib-ajax test runs on macOS.
- funcmd names the file it cannot find (not found: <file>) instead of failing
silently; lib-winsock renames HttpServer -> HttpServerBase (kept as
Server.HTTP / Server.HTP), fixing the duplicated HTP assignment.
See CHANGELOG.md / CHANGELOG.zh.md for the full list (the portability entries
before the HTTP work are still under Unreleased).