5b50279851
The new version of ocplib-resto : - uses jbuilder ; - is functorized over `Json_encoding` rather than `Json_repr` ; - handles query parameters ; - handles HTTP methods (GET, POST, DELETE, PUT, PATCH) ; - replaces `custom_service` by a more generic trailer argument ; - replaces generic answer `(code, body)` by a more ad-hoc sum type (allowing distinct encoding for success and error) ; - includes a minimal HTTP-server based on Cohttp (includings CORS and media type negotiation). - adds a function `Directory.transparent_lookup` to lookup/call a service handler without serializing the various parameters (path, query, request body). As a first consequences in Tezos, this patch allows binary communication between the client and the node. This patch tries to be minimal inside the tezos source code and therefore it introduces a minimal compatibility layer in `RPC.ml`. This code should be removed as soon as possible. |
||
---|---|---|
.. | ||
lib_ezresto | ||
lib_ezresto-directory | ||
lib_resto | ||
lib_resto-cohttp | ||
lib_resto-directory | ||
lib_resto-json | ||
test | ||
.gitignore | ||
.ocp-indent | ||
.travis.yml | ||
CHANGES.md | ||
jbuild | ||
LICENSE | ||
Makefile | ||
ocplib-ezresto-directory.opam | ||
ocplib-ezresto.opam | ||
ocplib-resto-cohttp.opam | ||
ocplib-resto-directory.opam | ||
ocplib-resto-json.opam | ||
ocplib-resto.opam | ||
ocplib-resto.version | ||
README.md |
ocplib-resto (WIP)
This is a minimal OCaml library for type-safe HTTP/JSON RPCs.
This is based on a notion of service, à la Eliom, and it uses
ocplib-json-typed
for self-documenting JSON encoders.
See test_ezresto-directory/ezResto_test.ml
or test_resto-directory/resto_test.ml
for example.`