nx_acme_http.nx
buildroot/runtime/nx_acme_http.nx
about
nx_acme_http.nx -- reusable ACME transport + tiny JSON string reader.
One ACME request = fresh TLS 1.3 connection (LE supports keep-alive but
one-shot connections are simplest + robust): url_for_fetch -> url_connect
-> session_run (validates the chain via the trust store) -> get/post_
complete -> raw response bytes. The caller parses status/headers/body
with nx_http_response_parse + nx_http_response_header + nx_acme_json_str.
Composes the proven live-HTTPS stack (same path as the example.com smoke,
now reaching LE after the RSA-4096 chain-verify fix).
license_tier: ORIGINAL (composes the shipped TLS client + HTTP parser)
dependencies 13 imports · 7 importers
diagram shows first 10 each side; +3 more imports, +0 more importers in the complete lists below.
imports: nx_syscalls.nxnx_x509_trust_store.nxnx_trust_store_load_from_certdata.nxnx_tls13_client_validate_certificate.nxnx_tls13_client_session_run.nxnx_tls12_client_session.nxnx_https_url_for_fetch.nxnx_https_url_connect.nxnx_https_get_complete.nxnx_https_post_complete.nxnx_http_client.nxnx_http_response_parse.nxnx_csprng.nx
imported by: nx_acme_issue.nxnx_acme_porkbun.nxnx_mcp_call.nxnx_mgmt_client.nxnx_sovgit_push.nxnx_tls12_porkbun_e2e_gate.nxnx_tls12_reconnect_stress_gate.nx
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| 27 | const NX_MAGIC_8192: i64 = 8192 |
| 28 | const NX_MAGIC_20000: i64 = 20000 |
| 29 | const NX_MAGIC_4194304: i64 = 4194304 |
| 30 | const NX_MAGIC_1779284141: i64 = 1779284141 |
| 31 | const NX_MAGIC_65536: i64 = 65536 |
| 32 | const NX_MAGIC_16384: i64 = 16384 |
| 34 | const NX_ACME_HTTP_OK: i64 = 0 |
| 35 | const NX_ACME_HTTP_URL_FAIL: i64 = 0 - 1 |
| 36 | const NX_ACME_HTTP_CONNECT_FAIL: i64 = 0 - 2 |
| 37 | const NX_ACME_HTTP_TLS_FAIL: i64 = 0 - 3 |
| 38 | const NX_ACME_HTTP_IO_FAIL: i64 = 0 - 4 |
| 47 | const NX_ACME_TLS12_MAX_TRIES: i64 = 3 |
| 48 | const NX_ACME_TLS12_RETRY_SETTLE_MS: i64 = 150 |
functions
| 58 | func _acme_http12_roundtrip( |
| 127 | func nx_acme_req(url: *u8, url_len: i64, |
| 258 | func nx_acme_json_str(buf: *u8, start: i64, n: i64, |
| 313 | func main() -> i64 |