package webmachine
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=242c87b3e01ab2ab7e7e79b51a9d6aeba4da6cb117fd61236cf53b7716771699
md5=bb9d0571a0877764e2a7a3c1bd4b6c61
Description
OCaml webmachine is a layer on top of cohttp that implements a state-machine-based HTTP request processor. It's particularly well-suited for writing RESTful APIs. As the name suggests, this is an OCaml port of the webmachine project.
Published: 13 Feb 2018
README
ocaml-webmachine
ocaml-webmachine is a layer on top of cohttp that implements a state-machine-based HTTP request processor. It's particularly well-suited for writing RESTful APIs. As the name suggests, this is an OCaml port of the webmachine project.
Installation
Install the library and its depenencies via OPAM:
opam install webmachine
Getting Started
webmachine implements this decision diagram to determine how an HTTP request should be handled. This includes validation, authentication, content negotiation, and caching. A resource specifies the decision that should be made at each node in the diagram by defining the appropriate method in a resource
subclass. The correspondence is suggested by the name of the method for now. This will be better-documented in the future.
Examples
To build the examples in the examples/
subdirectory, reconfigure the build process and recompile:
./configure --enable-examples
make clean && make
Development
To install development dependencies, pin the package from the root of the repository:
opam pin add -n webmachine .
opam install --deps-only webmachine
After this, you may install a development version of the library using the install command as usual.
For building and running the tests during development, you will need to install the oUnit
package and reconfigure the build process to enable tests:
opam install oUnit
jbuilder runtest
License
BSD3, see LICENSE file for its text.
Dependencies (7)
Dev Dependencies (1)
-
ounit
with-test & >= "1.0.2"
Used by (3)
- datakit-ci
-
irmin-http
< "2.0.0"
- session-webmachine
Conflicts
None