package cohttp

  1. Overview
  2. No Docs
An OCaml library for HTTP clients and servers

Install

Dune Dependency

Authors

Maintainers

Sources

cohttp-1.0.2.tbz
sha256=64a7249ef1568006108280343b416dd2b5807af603472246c24ecf43b1a207f5
md5=d0a46e32911773862e1a9b420c0058bc

Description

Join the chat at https://gitter.im/mirage/ocaml-cohttp

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

  • Cohttp_lwt_unix uses the Lwt library, and specifically the UNIX bindings.
  • Cohttp_async uses the Async library.
  • Cohttp_lwt exposes an OS-independent Lwt interface, which is used by the Mirage interface to generate standalone microkernels (use the cohttp-mirage subpackage).
  • Cohttp_lwt_xhr compiles to a JavaScript module that maps the Cohttp calls to XMLHTTPRequests. This is used to compile OCaml libraries like the GitHub bindings to JavaScript and still run efficiently.

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.

Tags

org:mirage org:xapi-project

Published: 07 Jan 2018

Dependencies (13)

  1. jsonm build
  2. base64 >= "2.0.0" & < "3.0.0"
  3. stringext
  4. ppx_sexp_conv >= "v0.9.0"
  5. ppx_fields_conv >= "v0.9.0"
  6. ppx_type_conv build & >= "v0.9.1"
  7. sexplib
  8. fieldslib
  9. uri >= "1.9.0" & < "2.0.0"
  10. re
  11. jbuilder >= "1.0+beta10"
  12. base-bytes
  13. ocaml >= "4.03.0" & < "5.0"

Dev Dependencies (2)

  1. alcotest with-test
  2. fmt with-test

Used by (73)

  1. aws-async
  2. aws-lwt
  3. aws-s3 >= "2.0.0" & < "4.0.0"
  4. awsm
  5. awsm-codegen
  6. azblob-async
  7. azure-cosmos-db
  8. bap-server >= "0.2.0"
  9. c3
  10. calculon-web < "0.5"
  11. canary
  12. cca >= "0.6.2"
  13. cohttp-async >= "1.0.0" & < "2.2.0"
  14. cohttp-lwt >= "1.0.0" & < "1.1.1" | = "2.1.3"
  15. cohttp-lwt-jsoo >= "1.0.0" & < "2.2.0"
  16. cohttp-mirage != "2.1.1" & < "2.5.5"
  17. cohttp-top >= "1.0.0" & < "2.2.0"
  18. comby-semantic
  19. cowabloga >= "0.0.9" & != "0.2.2"
  20. datakit < "0.10.0"
  21. dblp-api
  22. dropbox >= "0.2"
  23. frenetic >= "3.3.0" & < "5.0.5"
  24. git = "1.4.10" | >= "1.5.0" & < "1.10.0"
  25. git-cohttp
  26. git-http >= "2.0.0"
  27. git-paf < "3.5.0"
  28. git-unix < "1.10.0" | >= "2.0.0" & < "3.0.0"
  29. github >= "3.0.1" & < "4.4.0"
  30. github-jsoo >= "3.0.1" & < "4.4.0"
  31. github-unix >= "4.2.0" & < "4.4.0"
  32. graphql-cohttp < "0.9.0"
  33. hockmd
  34. imaplet-lwt >= "0.1.3"
  35. influxdb-async
  36. influxdb-lwt
  37. iocaml < "0.4.8"
  38. ip2location
  39. ip2locationio
  40. ip2whois
  41. irmin >= "0.9.0" & != "0.11.1" & < "1.0.0"
  42. irmin-cli
  43. irmin-graphql >= "2.3.0"
  44. irmin-http >= "2.3.0"
  45. irmin-mirage-git >= "2.3.0" & < "2.8.0"
  46. irmin-unix < "0.9.9" | >= "2.3.0"
  47. learn-ocaml < "0.13.0"
  48. learn-ocaml-client < "0.13.0"
  49. letsencrypt < "0.3.0"
  50. links >= "0.7.3"
  51. magic-trace
  52. mechaml >= "1.1.0"
  53. merge-queues >= "0.2.0"
  54. mirage-http = "2.0.0"
  55. mirage-www >= "1.1.0"
  56. nsq >= "0.2.4"
  57. ocamlapi
  58. oframl
  59. ojs-base >= "0.3.0" & < "0.6.0"
  60. opium = "0.13.3"
  61. opium_kernel
  62. podge
  63. ppx_json_types
  64. prof_spacetime >= "0.3.0"
  65. prometheus-app >= "0.5" & < "1.2"
  66. quests
  67. session-cohttp
  68. sociaml-facebook-api >= "0.4.1"
  69. telegraml >= "2.2.0"
  70. transmission-rpc
  71. webmachine >= "0.4.0"
  72. websocket = "2.10"
  73. xen-api-client >= "0.9.8" & < "0.9.14"

Conflicts

None

OCaml

Innovation. Community. Security.