webmachine

A REST toolkit for OCaml
README

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.

Install
Published
29 Sep 2020
Sources
0.6.3.tar.gz
md5=5d89acb6609336cf9ea84ad915778c12
Dependencies
re
>= "1.7.2"
ounit
with-test & >= "1.0.2"
dune
>= "1.0"
dispatch
>= "0.3.0" & < "0.5.0"
cohttp
>= "1.0.0"
ptime
>= "0.8.0"
ocaml
>= "4.03.0"
Reverse Dependencies