server . '/api/slotdb/v1/' . ltrim($path, '/') . '?' . $queryStr; $request = new Request('GET', $fullPath, $headers); return $this->client->sendRequest($request); } private function post(string $path, array $data, array $query = [], array $headers = []): ResponseInterface { $queryStr = \http_build_query($query); $fullPath = $this->server . '/api/slotdb/v1/' . ltrim($path, '/') . '?' . $queryStr; $headers['content-type'] ??= 'application/json'; $request = new Request('POST', $fullPath, $headers, json_encode($data)); return $this->client->sendRequest($request); } public function querySlot(string $slotId): array { $res = $this->get("/slot/{$slotId}"); $data = json_decode($res->getBody(), true); return $data; } public function updateSlot(string $slotId, array $props): array { $res = $this->post("/slot/{$slotId}", data: $props); $data = json_decode($res->getBody(), true); return $data; } }