2016-09-08 21:13:10 +04:00
|
|
|
(**************************************************************************)
|
|
|
|
(* *)
|
2018-02-06 00:17:03 +04:00
|
|
|
(* Copyright (c) 2014 - 2018. *)
|
2016-09-08 21:13:10 +04:00
|
|
|
(* Dynamic Ledger Solutions, Inc. <contact@tezos.com> *)
|
|
|
|
(* *)
|
|
|
|
(* All rights reserved. No warranty, explicit or implicit, provided. *)
|
|
|
|
(* *)
|
|
|
|
(**************************************************************************)
|
|
|
|
|
2017-12-09 06:51:58 +04:00
|
|
|
type meth = [ `GET | `POST | `DELETE | `PUT | `PATCH ]
|
2016-09-08 21:13:10 +04:00
|
|
|
|
2017-12-09 06:51:58 +04:00
|
|
|
val string_of_meth: [< meth ] -> string
|
|
|
|
val meth_of_string: string -> [> meth ] option
|
|
|
|
val meth_encoding: meth Data_encoding.t
|
2016-09-08 21:13:10 +04:00
|
|
|
|
2017-12-09 06:51:58 +04:00
|
|
|
module MethMap = Resto.MethMap
|
2016-09-08 21:13:10 +04:00
|
|
|
|
2018-02-08 13:51:02 +04:00
|
|
|
type (+'m,'pr,'p,'q,'i,'o, 'e) raw =
|
|
|
|
('m,'pr,'p,'q,'i,'o, 'e) Resto.MakeService(RPC_encoding).t
|
|
|
|
constraint 'meth = [< meth ]
|
|
|
|
|
2018-02-11 22:17:39 +04:00
|
|
|
type error = Error_monad.error list
|
|
|
|
|
2018-02-08 13:51:02 +04:00
|
|
|
type (+'meth, 'prefix, 'params, 'query, 'input, 'output) t =
|
2018-02-11 22:17:39 +04:00
|
|
|
('meth, 'prefix, 'params, 'query, 'input, 'output, error) raw
|
2018-02-08 13:51:02 +04:00
|
|
|
constraint 'meth = [< meth ]
|
|
|
|
|
|
|
|
type (+'meth, 'prefix, 'params, 'query, 'input, 'output) service =
|
2018-02-11 22:17:39 +04:00
|
|
|
('meth, 'prefix, 'params, 'query, 'input, 'output, error) raw
|
2018-02-08 13:51:02 +04:00
|
|
|
constraint 'meth = [< meth ]
|
|
|
|
|
|
|
|
include (module type of struct include Resto.MakeService(RPC_encoding) end
|
|
|
|
with type (+'m,'pr,'p,'q,'i,'o, 'e) t := ('m,'pr,'p,'q,'i,'o, 'e) raw
|
|
|
|
and type (+'m,'pr,'p,'q,'i,'o, 'e) service := ('m,'pr,'p,'q,'i,'o, 'e) raw)
|
|
|
|
|
|
|
|
val get_service:
|
|
|
|
?description: string ->
|
|
|
|
query: 'query RPC_query.t ->
|
|
|
|
output: 'output Data_encoding.t ->
|
|
|
|
('prefix, 'params) RPC_path.t ->
|
|
|
|
([ `GET ], 'prefix, 'params, 'query, unit, 'output) service
|
|
|
|
|
|
|
|
val post_service:
|
|
|
|
?description: string ->
|
|
|
|
query:'query RPC_query.t ->
|
|
|
|
input: 'input Data_encoding.t ->
|
|
|
|
output: 'output Data_encoding.t ->
|
|
|
|
('prefix, 'params) RPC_path.t ->
|
|
|
|
([ `POST ], 'prefix, 'params, 'query, 'input, 'output) service
|
|
|
|
|
|
|
|
val delete_service:
|
|
|
|
?description: string ->
|
|
|
|
query:'query RPC_query.t ->
|
|
|
|
output: 'output Data_encoding.t ->
|
|
|
|
('prefix, 'params) RPC_path.t ->
|
|
|
|
([ `DELETE ], 'prefix, 'params, 'query, unit, 'output) service
|
|
|
|
|
|
|
|
val patch_service:
|
|
|
|
?description: string ->
|
|
|
|
query:'query RPC_query.t ->
|
|
|
|
input: 'input Data_encoding.t ->
|
|
|
|
output: 'output Data_encoding.t ->
|
|
|
|
('prefix, 'params) RPC_path.t ->
|
|
|
|
([ `PATCH ], 'prefix, 'params, 'query, 'input, 'output) service
|
|
|
|
|
|
|
|
val put_service:
|
|
|
|
?description: string ->
|
|
|
|
query:'query RPC_query.t ->
|
|
|
|
input: 'input Data_encoding.t ->
|
|
|
|
output: 'output Data_encoding.t ->
|
|
|
|
('prefix, 'params) RPC_path.t ->
|
|
|
|
([ `PUT ], 'prefix, 'params, 'query, 'input, 'output) service
|
2018-02-11 22:17:39 +04:00
|
|
|
|
|
|
|
|
|
|
|
(**/**)
|
|
|
|
|
|
|
|
val description_service:
|
|
|
|
([ `GET ], unit, unit * string list, Resto.Description.request,
|
2018-02-03 23:48:08 +04:00
|
|
|
unit, RPC_encoding.schema Resto.Description.directory) service
|
2018-02-11 22:17:39 +04:00
|
|
|
|
|
|
|
val error_service:
|
2018-04-21 18:43:00 +04:00
|
|
|
([ `GET ], unit, unit, unit, unit, Json_schema.schema) service
|
2018-02-11 22:17:39 +04:00
|
|
|
|
|
|
|
val error_encoding: error Data_encoding.t
|