-async fn connect(cli: &cli::Cli) -> Result<jsonrpc::SignalCliClient, RpcError> {
- if let Some(tcp) = cli.json_rpc_tcp {
+async fn connect(cli: Cli) -> Result<Value, RpcError> {
+ if let Some(http) = &cli.json_rpc_http {
+ let uri = if let Some(uri) = http {
+ uri
+ } else {
+ DEFAULT_HTTP
+ };
+ let client = jsonrpc::connect_http(uri)
+ .await
+ .map_err(|e| RpcError::Custom(format!("Failed to connect to socket: {e}")))?;
+
+ handle_command(cli, client).await
+ } else if let Some(tcp) = cli.json_rpc_tcp {