Pure-MoonBit curl 8.22 migration. The Phase 2 HTTP/HTTPS slice streams tostdout by default and supports multiple URLs, -s/-S, -f status 22,-o, -O/-OJ, -L, --max-redirs, -I, repeated -H, the supported-X methods, repeated -d/--data-raw/--data-binary/--data-urlencode, -T, retries, --connect-timeout, -m/--max-time,proxy/--noproxy, -k, and --remove-on-error.
Retry delay and retry-window values use upstream integer-second grammar andare bounded by the millisecond timer range (2147483 seconds). Connection andtotal timeouts accept decimals; zero selects curl's disabled/default behavior.
curl does not follow redirects unless -L is present. -s suppresses themeter and errors; -sS restores errors only. The meter never shares a terminalwith a body written to terminal stdout, and redirected stderr receives boundednewline output rather than carriage-return spam. Failed fixed-length transfersare detected; --remove-on-error removes a partial output file.
The command remains partial, not fully curl-compatible. Arbitrary extensionmethods, byte-exact raw response-header/version display, compressed/HTTP2negotiation controls, config/auth/cookie features, retry-after/backoff parity,and curl's non-HTTP protocol families are not yet implemented. -X is limitedto GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, and PATCH by theclosed public HTTP method enum and rejects other values before network sideeffects. See docs/spikes/2026-09-02-http-protocol-feasibility.md.