package cohttp-lwt-unix

  1. Overview
  2. No Docs

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 (10)

  1. base-unix
  2. lwt >= "3.0.0" & < "4.0.0"
  3. cohttp-lwt >= "1.0.2" & < "1.1.0"
  4. fmt >= "0.8.2"
  5. logs
  6. magic-mime
  7. cmdliner
  8. conduit-lwt-unix >= "1.0.3" & < "2.0.0"
  9. jbuilder >= "1.0+beta10"
  10. ocaml >= "4.03.0"

Dev Dependencies (1)

  1. ounit with-test

Used by (75)

  1. aws-lwt
  2. aws-s3-lwt < "4.0.0"
  3. awsm-lwt
  4. azure-cosmos-db
  5. bap-server >= "0.2.0"
  6. bitcoin-cohttp-lwt
  7. calculon-web < "0.5"
  8. canary
  9. comby
  10. comby-semantic
  11. cowabloga >= "0.4.0"
  12. curly
  13. current_github < "0.5"
  14. current_slack < "0.4"
  15. datakit-ci >= "0.12.1"
  16. dropbox_lwt_unix
  17. equinoxe-cohttp
  18. git-cohttp-unix
  19. git-unix >= "1.11.4" & < "3.0.0" | >= "3.4.0" & < "3.7.0"
  20. github-hooks-unix
  21. github-unix >= "3.0.1" & < "4.4.0"
  22. graphql-cohttp >= "0.13.0"
  23. graphql-lwt >= "0.6.0" & < "0.8.0"
  24. grpc-examples
  25. hockmd
  26. influxdb-lwt
  27. ip2location
  28. ip2locationio
  29. irmin-cli
  30. irmin-git >= "3.4.0"
  31. irmin-graphql >= "2.2.0"
  32. irmin-http >= "2.6.0"
  33. irmin-server
  34. irmin-unix >= "2.3.0"
  35. js_of_ocaml-toplevel >= "3.10.0"
  36. kappa-server
  37. kubecaml
  38. learn-ocaml < "0.13.0"
  39. learn-ocaml-client < "0.13.0"
  40. letsencrypt < "0.3.0"
  41. letsencrypt-app
  42. links >= "0.9"
  43. mechaml >= "1.0.0"
  44. nsq >= "0.2.4"
  45. ocamlapi_lwt_unix
  46. ocluster < "0.2.1"
  47. ocsigen-start >= "2.2.2"
  48. ocsigenserver >= "3.0.0" & < "5.1.0"
  49. oframl
  50. opam2web >= "2.0"
  51. openai-gym
  52. opentelemetry-client-cohttp-lwt
  53. opentelemetry-lwt
  54. opium >= "0.16.0" & < "0.19.0"
  55. oraft < "0.3.0"
  56. ozulip
  57. prof_spacetime >= "0.3.0"
  58. prometheus-app >= "0.4" & < "1.2"
  59. prometheus-liquidsoap
  60. quests
  61. resto-cohttp-server < "0.6"
  62. slacko >= "0.14.1"
  63. spotify-web-api >= "0.2.1"
  64. telegraml >= "2.2.0"
  65. terminus-cohttp
  66. textrazor
  67. tezos-rpc-http-client-unix < "9.0"
  68. tldr
  69. wcs >= "2017-05-26.01"
  70. wcs-api >= "2017-05-26.03"
  71. wcs-lib >= "2017-05-26.05"
  72. websocket-lwt >= "2.11"
  73. websocket-lwt-unix < "2.14"
  74. yurt >= "0.4"
  75. zeit

Conflicts (1)

  1. lwt < "2.5.0"