package httpcats
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
A simple HTTP client / server using h1, h2, and miou
Install
dune-project
Dependency
Authors
Maintainers
Sources
httpcats-0.2.1.tbz
sha256=a40e9e88cd5555f5398c34cb2bff9837a053f8c6215c1aeb3269032a74a41cd8
sha512=b6f3bf1ba669e88c80adf779c9186513b0427377f1ca0bb7f896a99241373ef2cc3f59ff786fb7fc99e7bf79d92e2fad1fa52e3172c3e30a37b97cb405e2ac43
doc/CHANGES.html
v0.2.1 (2026-03-25) Paris - France
- Use
Miou.Ownershipto release correctly our resource in any cases (including the cancellation case) (@dinosaure, #47) - Replace
assert falsebyfailwith(@dinosaure, #47) Improve performances (@dinosaure, #46) We use a pre-allocated buffer to read/write things into the given flow now We don't try to split bigarray to small strings We fixed a bit the way to stop a server
A benchmark was made with
wrkand comparehttpcats,httpun+eio,vifandnginx. It is available here: https://robur-coop.github.io/httpcats/ The protocol of the benchmark is described into our filebench/PROTOCOL.md. The collected results from our machine is available into our filebench/BENCH.md. Implementations are available into thebench/folder.
v0.2.0 (2026-02-19) Paris - France
- Improve the OPAM file and the README.md (@geazi-anc, #39)
- Split out the core of
httpcatsto be re-usable by unikernels (@dinosaure, #40) - Avoid a memory leak about logs (@dinosaure, #42)
- Upgrade GitHub CI and ocamlformat (@dinosaure, #43)
v0.1.0 (2025-08-09) Paris - France
- Add the support of websocket (@swrup & @dinosaure)
- Improve the
Httpcats.requestand handle cookies and redirections well (@dinosaure) - Improve the runtime implement to process an HTTP communication (with http/1.1 & h2) (@dinosaure)
- Improve the documentation (@dinosaure)
This changelog does not contain PRs referring to additions to httpcats, as they were produced with a quick iteration to finalise the release of httpcats.0.1.0.
v0.0.1 (2024-09-13) Paris - France
- First release
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>