From 1aae608011f70966e3cfb1d30e1a833ab354f714 Mon Sep 17 00:00:00 2001 From: Victor Westerlund Date: Thu, 1 Jun 2023 11:29:15 +0200 Subject: [PATCH] feat: return response from HTTP and Socket as assoc array (#4) * feat: return response as assoc array * feat: return http resp as assoc array --- src/Reflect/Client.php | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/Reflect/Client.php b/src/Reflect/Client.php index 41c835f..7acdcc3 100644 --- a/src/Reflect/Client.php +++ b/src/Reflect/Client.php @@ -97,7 +97,8 @@ // The first header line and second word will contain the status code. $resp_code = (int) explode(" ", $http_response_header[0])[1]; - return [$resp_code, $resp]; + // Return response as [, ] + return [$resp_code, json_decode($resp)]; } // Make request and return response over socket @@ -112,19 +113,22 @@ return $rx; } - // Create HTTP-like JSON with ["","","[payload]"] and return - // respone from endpoint as [""] + // Call a Reflect endpoint and return response as assoc array public function call(string $endpoint, Method|string $method = (__CLASS__)::HTTP_DEFAULT_METHOD, array $payload = null): array { // Resolve string to enum $method = $this::resolve_method($method); // Call endpoint over UNIX socket if ($this->_con === Connection::AF_UNIX) { - return json_decode($this->socket_txn(json_encode([ - $endpoint, - $method->value, - $payload - ]))); + // Return response as assoc array + return json_decode($this->socket_txn( + // Send request as stringified JSON + json_encode([ + $endpoint, + $method->value, + $payload + ]) + ), true); } // Call endpoint over HTTP