ligo/vendors/ocplib-resto/lib_ezresto-directory/test/ezServices.ml
2017-12-08 02:50:03 +01:00

59 lines
1.9 KiB
OCaml

(**************************************************************************)
(* ocplib-resto *)
(* Copyright (C) 2016, OCamlPro. *)
(* *)
(* All rights reserved. This file is distributed under the terms *)
(* of the GNU Lesser General Public License version 2.1, with the *)
(* special exception on linking described in the file LICENSE. *)
(* *)
(**************************************************************************)
open EzResto
(** Shared part *)
let repeat_service =
post_service
~query:Query.empty
~input:Json_encoding.any_ezjson_value
~output:Json_encoding.any_ezjson_value
~error:Json_encoding.empty
Path.(root / "foo" /: Arg.int / "repeat")
let add_service =
post_service
~query:Query.empty
~input:Json_encoding.int
~output:Json_encoding.int
~error:Json_encoding.empty
Path.(root / "foo" /: Arg.int / "add")
let alternate_add_service =
get_service
~query:Query.empty
~output:Json_encoding.float
~error:Json_encoding.empty
Path.(root / "bar" /: Arg.int /: Arg.float / "add")
let alternate_add_service' =
post_service
~query:Query.empty
~input:Json_encoding.null
~output:Json_encoding.int
~error:Json_encoding.empty
Path.(map
(fun (((),i),f) -> (i,int_of_float f))
(fun (i,f) -> (((),i),float_of_int f))
(root / "bar" /: Arg.int /: Arg.float / "add"))
let minus_service r =
post_service
~query:Query.empty
~input:Json_encoding.null
~output:Json_encoding.float
~error:Json_encoding.empty
Path.(r /: Arg.int / "minus")
let describe_service =
description_service Path.(root / "describe")