An OCaml library for HTTP clients and servers
Description

Cohttp is an OCaml library for creating HTTP daemons. It has a portable HTTP parser, and implementations using various asynchronous programming libraries.

See the cohttp-async, cohttp-lwt, cohttp-lwt-unix, cohttp-lwt-jsoo and cohttp-mirage libraries for concrete implementations for particular targets.

You can implement other targets using the parser very easily. Look at the IO signature in lib/s.mli and implement that in the desired backend.

You can activate some runtime debugging by setting COHTTP_DEBUG to any value, and all requests and responses will be written to stderr. Further debugging of the connection layer can be obtained by setting CONDUIT_DEBUG to any value.

Install

Published

05 Jan 2022

Authors

Maintainers

Sources

cohttp-5.0.0.tbz
sha256=fd6ff4b86c818355d61b3a08628596dbf517d6a7da6e8edec481bb0653ca5a05
sha512=f0bfd715806965af5488010cc9388d05406b67ece0b2cb8f7803553b17a5264d03094e59127a62d37c0d6c0e74d4717e643737c43d9bcfb10b112a73d5f49c4d

Dependencies

crowbar with-test & >= "0.2"
alcotest with-test
jsonm build
fmt with-test
base64 >= "3.1.0"
ppx_sexp_conv >= "v0.13.0"
uri >= "2.0.0"
re >= "1.9.0"
dune >= "2.0"
ocaml >= "4.08"

Reverse Dependencies

aws-s3 >= "2.0.0" & < "4.0.0"
cca >= "0.6.2"
cohttp-async >= "1.0.0" & < "2.2.0" | = "5.0.0"
cohttp-lwt = "5.0.0"
cohttp-lwt-jsoo >= "1.2.0" & < "2.2.0" | = "5.0.0"
cohttp-mirage = "5.0.0"
cohttp-top >= "1.0.0" & < "2.2.0" | = "5.0.0"
cowabloga >= "0.0.9" & != "0.2.2"
current_github >= "0.4" & < "0.6"
current_web >= "0.4" & < "0.6"
datakit < "0.10.0"
dropbox >= "0.2"
frenetic >= "3.3.0"
git = "1.4.10" | >= "1.5.0" & < "1.10.0"
git-paf < "3.5.0"
git-unix < "1.10.0" | >= "2.1.1" & < "3.0.0"
github >= "3.0.1"
github-jsoo >= "4.1.0" & < "4.3.0" | >= "4.4.0"
github-unix >= "4.2.0"
imaplet-lwt >= "0.1.3"
iocaml < "0.4.8"
irmin >= "0.9.0" & != "0.11.1" & < "1.0.0"
irmin-graphql >= "2.3.0"
irmin-http >= "2.3.0"
irmin-mirage-git >= "2.3.0" & < "2.8.0"
irmin-unix < "0.9.9" | >= "2.3.0"
learn-ocaml != "0.12"
letsencrypt < "0.3.0"
links >= "0.7.3"
merge-queues >= "0.2.0"
mirage-http = "2.0.0"
mirage-www >= "1.1.0"
nsq >= "0.2.4"
ojs-base >= "0.3.0"
opium = "0.13.3"
podge >= "0.4"
prometheus-app >= "0.5" & < "1.2"
river >= "0.2"
telegraml >= "2.2.0"
webmachine >= "0.4.0"
websocket >= "2.10"
xen-api-client >= "0.9.8" & < "0.9.14"

Conflicts

None