From f0b8c978d23cf0f632a6d8a1cfd0c6992ce4b572 Mon Sep 17 00:00:00 2001 From: Dario Rekowski on RockPI Date: Fri, 6 Nov 2020 15:27:28 +0000 Subject: [PATCH] fix with empty gradido nodes --- .../Component/JsonRpcRequestClientComponent.php | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/Controller/Component/JsonRpcRequestClientComponent.php b/src/Controller/Component/JsonRpcRequestClientComponent.php index 980a64e8d..c03f7d832 100644 --- a/src/Controller/Component/JsonRpcRequestClientComponent.php +++ b/src/Controller/Component/JsonRpcRequestClientComponent.php @@ -42,7 +42,11 @@ class JsonRpcRequestClientComponent extends Component $http = new Client(); try { - $response = $http->post($this->pickGradidoNodeUrl(), $message, ['type' => 'json']); + $url = $this->pickGradidoNodeUrl(); + if(is_array($url)) { + return $url; + } + $response = $http->post($url, $message, ['type' => 'json']); } catch(Exception $e) { return ['state' => 'error', 'type' => 'http exception', 'details' => $e->getMessage()]; } @@ -65,7 +69,10 @@ class JsonRpcRequestClientComponent extends Component static public function pickGradidoNodeUrl() { - $gradidoNodes = Configure::read('GradidoNode'); + $gradidoNodes = Configure::read('GradidoNode'); + if(count($gradidoNodes) == 0) { + return ['state' => 'error', 'msg' => 'no gradido nodes in config']; + } $i = rand(0, count($gradidoNodes)-1); return $gradidoNodes[$i]['host'] . ':' . $gradidoNodes[$i]['port']; }