RPC: file can be used with rpc call
This commit is contained in:
parent
9f5b6183ac
commit
e75112d8e2
@ -399,6 +399,22 @@ let call_with_json raw_url json (cctxt: Client_commands.full_context) =
|
|||||||
cctxt#generic_json_call `POST ~body uri >>=?
|
cctxt#generic_json_call `POST ~body uri >>=?
|
||||||
display_answer cctxt
|
display_answer cctxt
|
||||||
|
|
||||||
|
let call_with_file_or_json url maybe_file (cctxt: Client_commands.full_context) =
|
||||||
|
begin
|
||||||
|
match TzString.split ':' ~limit:1 maybe_file with
|
||||||
|
| [ "file" ; filename] ->
|
||||||
|
(* Mostly copied from src/client/client_aliases.ml *)
|
||||||
|
Lwt.catch
|
||||||
|
(fun () ->
|
||||||
|
Lwt_io.(with_file ~mode:Input filename read) >>= fun content ->
|
||||||
|
return content)
|
||||||
|
(fun exn ->
|
||||||
|
failwith
|
||||||
|
"cannot read file (%s)" (Printexc.to_string exn))
|
||||||
|
| _ -> return maybe_file
|
||||||
|
end >>=? fun json ->
|
||||||
|
call_with_json url json cctxt
|
||||||
|
|
||||||
let group =
|
let group =
|
||||||
{ Cli_entries.name = "rpc" ;
|
{ Cli_entries.name = "rpc" ;
|
||||||
title = "Commands for the low level RPC layer" }
|
title = "Commands for the low level RPC layer" }
|
||||||
@ -442,7 +458,10 @@ let commands = [
|
|||||||
command ~group ~desc: "call an RPC (low level command for advanced users)"
|
command ~group ~desc: "call an RPC (low level command for advanced users)"
|
||||||
no_options
|
no_options
|
||||||
(prefixes [ "rpc" ; "call" ] @@ string ~name: "url" ~desc: "the RPC's URL"
|
(prefixes [ "rpc" ; "call" ] @@ string ~name: "url" ~desc: "the RPC's URL"
|
||||||
@@ prefix "with" @@ string ~name:"input" ~desc:"the JSON input to the RPC" @@ stop)
|
@@ prefix "with"
|
||||||
(fun () -> call_with_json)
|
@@ string ~name:"input"
|
||||||
|
~desc:"the JSON input to the RPC or `file:FILENAME`, which is the path to a file containing the JSON"
|
||||||
|
@@ stop)
|
||||||
|
(fun () -> call_with_file_or_json)
|
||||||
|
|
||||||
]
|
]
|
||||||
|
Loading…
Reference in New Issue
Block a user