aes = new AESController(); $this->client = new GuzzleHttp\Client(); $this->username = $username; $this->password = $password; $this->host = $host; $this->base_url = 'http://'.$this->host.'/admin/api/index.php/api/'; } public function post($route, $payload, $withAuth = true){ $json = json_encode($payload); $e_json = $this->aes::encrypt($json, 'abcdefghijuklmno0123456789012345'); $res = $this->client->request('POST',$this->base_url.$route, [ 'headers' => [ 'authorization' => 'Bearer '.$this->token ], 'json' => [ 'payload' => $e_json ] ] ); if ($res->getStatusCode() >= 200 && $res->getStatusCode()< 400) return $res->getBody(); else return -1; } public function get($route, $withAuth = true){ $res = $this->client->request('GET',$this->base_url.$route, [ 'headers' => [ 'authorization' => 'Bearer '.$this->token ] ] ); if ($res->getStatusCode() >= 200 && $res->getStatusCode()< 400) return $res->getBody(); else return -1; } public function delete($route, $withAuth = true){ $res = $this->client->request('DELETE',$this->base_url.$route, [ 'headers' => [ 'authorization' => 'Bearer '.$this->token ] ] ); if ($res->getStatusCode() >= 200 && $res->getStatusCode()< 400) return $res->getBody(); else return -1; } public function login(){ $payload['username'] = $this->username; $payload['password'] = $this->password; $res = $this->post('login', $payload, false); if ($res !== -1) { $t = json_decode($res); $this->token = $t->token; } } }