/
nv-lang
/
nova-http
Обзор
Документация
Войти
/
nv-lang
/
nova-http
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
main
nova.toml
49 строк
3 KB
Evgeniy Golovin
release: v0.1.3 -- mut moves in front of the parameter name
12 авг 2026, 16:23
12 авг 2026, 16:23
53638fb
Код
Авторство
О чём код?
# nova.toml — nova-http: HTTP/1.1 client + protocol core for Nova (no # server — that layer moved to nova-polaris, Plan 222, see README.md). # # Layout: src/ canon (Plan 195, "package layout"). Source root is set via # the legacy-but-honored `[lib] src` key (compiler-codegen/src/manifest.rs) # so module paths resolve relative to `src/` (D78 — module path does NOT # include `src`). Root files (`src/{body,cookie,effect,error,header,message, # method,mime,response_ext,status,url,version}.nv`) are root peers (D78 # rev-4, Plan 203 phase 1, 2026-07-13) declaring the bare `module http`; domain # subfolders (`src/client/`, `src/serdejson/`, `src/transport/`) are # folder-module peers declaring `module http.client`, `module # http.serdejson`, etc. — unchanged from their shape inside the monorepo # (`std/src/http/**`), only the enclosing `http/` directory itself # disappeared (it IS this package's source root now). `src/server/` and # `src/servernet/` were extracted out into nova-polaris (Plan 222, owner # decision 2026-07-24, commit d580e78). [package] name = "http" version = "0.1.3" description = "HTTP/1.1 client + protocol core (headers, cookies, URL, JSON bodies) for Nova — extracted from Nova's std/http (Plan 203); server/routing live in nova-polaris" license = "MIT OR Apache-2.0" repository = "https://github.com/nv-lang/nova-http" [lib] src = "src" # Plan 203 (2026-07-13): std/http was extracted from std (sibling of the # Plan 193 nova-tls extraction) because a self-sufficient stdlib cannot # depend on an external package (`std/src/http/transport/real.nv` pulled in # `tls` for HTTPS) — and bare HTTP without TLS is rarely useful on its own # (Rust/Swift both keep http+tls outside std; Go/Python/Node keep both # inside, at the cost of bundling crypto). `http/transport/real.nv` and # `http/error.nv` import `tls` directly (`import tls.{...}`) — this # package's only external dependency. # # D420 (Plan 204, 2026-07-13; follow-up #2): the release form is git+semver # (tags vX.Y.Z, caret semantics); nova.lock.toml pins the exact tag+commit. # Local development (a dev override onto a sibling checkout) goes ONLY through # the neighbouring `nova.override.toml` (never committed — see `.gitignore`), # NOT here: a committed `[replace]` breaks a clean clone, because the override # path exists only on the author's machine — `nova build` now enforces this # (E_REPLACE_IN_MANIFEST). # Plan 205 phase 2 (2026-07-16): auto-decompress (Content-Encoding: gzip/deflate/br) # pulls in the `compress` package (extracted from std/encoding/compress, same # extraction shape as `tls` above) — client/client.nv and error.nv import it. [dependencies] tls = { git = "https://github.com/nv-lang/nova-tls", version = "0.1" } compress = { git = "https://github.com/nv-lang/nova-compress", version = "0.1" }