package webmachine
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=d6e6567c1e177aefe6f1a62a32ff61942521866ee1579a55ffb2b7970ddc04c4
md5=e49e81e81ac0527e452aa6f6fd5c9616
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: 20 Apr 2020
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:
dune build examples/hello_lwt.exe
dune build examples/crud_lwt.exe
dune build examples/hello_async.exe
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 run tests:
opam install oUnit
dune runtest
License
BSD3, see LICENSE file for its text.
Dependencies (6)
Dev Dependencies (1)
-
ounit
with-test & >= "1.0.2"
Used by (2)
-
irmin-http
>= "2.0.0"
- session-webmachine
Conflicts
None