public function open(array $options = []) {
		$this->options = [];
		parent::open($options);
		$config = $this->_config;

		if (empty($config['scheme']) || empty($config['host'])) {
			return false;
		}
		if (!empty($config['options'])) {
			$this->set($config['options']);
		}

		$url = "{$config['scheme']}://{$config['host']}";
		$this->_resource = curl_init($url);
		$this->set([
			CURLOPT_PORT => $config['port'],
			CURLOPT_HEADER => true,
			CURLOPT_RETURNTRANSFER => true
		]);

		if (!is_resource($this->_resource)) {
			return false;
		}
		$this->_isConnected = true;
		$this->timeout($config['timeout']);

		if (isset($config['encoding'])) {
			$this->encoding($config['encoding']);
		}
		return $this->_resource;
	}