PureHTTP2.jl
PureHTTP2.jl is a pure-Julia implementation of the HTTP/2 protocol (RFC 9113) and HPACK header compression (RFC 7541), extracted from the http2 submodule of gRPCServer.jl and developed as a standalone, reusable library. Conformance is validated (from Milestone 4 onward) against Nghttp2Wrapper.jl, a thin wrapper over the libnghttp2 reference implementation.
Project principles
PureHTTP2.jl follows a constitution with five non-negotiable principles:
- Pure Julia Implementation — zero
ccallinto C libraries for protocol logic; the[deps]block inProject.tomlis empty. - Test-First with TestItemRunner — every behavioural change follows TDD, wired through
TestItemRunner.jl. - Specification Conformance & Reference Parity — wire behaviour is validated against
libnghttp2via Nghttp2Wrapper.jl. - Semantic Versioning & Changelog Discipline — SemVer, Keep a Changelog, Conventional Commits.
- Documentation as Code — every feature ships with warning-free Documenter pages; this page is an expression of that gate.
Status
PureHTTP2.jl is pre-0.1.0 development software. The current version is 0.0.1 (Milestone 1 scaffolding). See ROADMAP.md for the planned milestones and CHANGELOG.md for the entries landed so far.
Reference
- API Reference — types exported at this milestone.