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, 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.

Install
Published
13 Feb 2018
Sources
0.5.0.tar.gz
md5=bb9d0571a0877764e2a7a3c1bd4b6c61
Dependencies
re
>= "1.3.0"
ounit
with-test & >= "1.0.2"
jbuilder
>= "1.0+beta10"
dispatch
>= "0.3.0" & < "0.5.0"
cohttp
>= "0.21.0"
calendar
>= "2.03.2"
ocaml
>= "4.03"
Reverse Dependencies