getHttpClient()->get( // Reason for the path check is because it is unnecessary on the Daemon but we need // to respect the interface. sprintf('/api/servers/%s/files/list/%s', $this->getServer()->uuid, $path === '/' ? '' : $path) ); return json_decode($response->getBody(), true); } /** * Creates a new directory for the server in the given $path. * * @param string $name * @param string $path * @return \Psr\Http\Message\ResponseInterface */ public function createDirectory(string $name, string $path): ResponseInterface { return $this->getHttpClient()->post( sprintf('/api/servers/%s/files/create-directory', $this->getServer()->uuid), [ 'json' => [ 'name' => $name, 'path' => $path, ], ] ); } /** * Renames or moves a file on the remote machine. * * @param string $from * @param string $to * @return \Psr\Http\Message\ResponseInterface */ public function renameFile(string $from, string $to): ResponseInterface { return $this->getHttpClient()->put( sprintf('/api/servers/%s/files/rename', $this->getServer()->uuid), [ 'json' => [ 'rename_from' => $from, 'rename_to' => $to, ], ] ); } }