|  |  |  | @ -213,12 +213,7 @@ class Connection extends Component | 
			
		
	
		
			
				
					|  |  |  |  | 		if (!empty($options)) { | 
			
		
	
		
			
				
					|  |  |  |  | 			$url .= '?' . http_build_query($options); | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		$host = $this->nodes[$this->activeNode]['http_address']; | 
			
		
	
		
			
				
					|  |  |  |  | 		if (strncmp($host, 'inet[/', 6) == 0) { | 
			
		
	
		
			
				
					|  |  |  |  | 			$host = substr($host, 6, -1); | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  |  | 		return 'http://' . $host . '/' . $url; | 
			
		
	
		
			
				
					|  |  |  |  | 		return $url; | 
			
		
	
		
			
				
					|  |  |  |  | 	} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 	protected function httpRequest($method, $url, $requestBody = null) | 
			
		
	
	
		
			
				
					|  |  |  | @ -264,13 +259,23 @@ class Connection extends Component | 
			
		
	
		
			
				
					|  |  |  |  | 			unset($options[CURLOPT_WRITEFUNCTION]); | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		$curl = curl_init($url); | 
			
		
	
		
			
				
					|  |  |  |  | 		$host = $this->nodes[$this->activeNode]['http_address']; | 
			
		
	
		
			
				
					|  |  |  |  | 		if (strncmp($host, 'inet[/', 6) == 0) { | 
			
		
	
		
			
				
					|  |  |  |  | 			$host = substr($host, 6, -1); | 
			
		
	
		
			
				
					|  |  |  |  | 		} | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		Yii::trace("Sending request to elasticsearch node '$host' $url\n$requestBody", __METHOD__); | 
			
		
	
		
			
				
					|  |  |  |  | 		Yii::beginProfile($url . $requestBody, __METHOD__); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		$curl = curl_init('http://' . $host . '/' . $url); | 
			
		
	
		
			
				
					|  |  |  |  | 		curl_setopt_array($curl, $options); | 
			
		
	
		
			
				
					|  |  |  |  | 		curl_exec($curl); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		$responseCode = curl_getinfo($curl, CURLINFO_HTTP_CODE); | 
			
		
	
		
			
				
					|  |  |  |  | 		curl_close($curl); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		Yii::endProfile($url . $requestBody, __METHOD__); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  | 		if ($responseCode >= 200 && $responseCode < 300) { | 
			
		
	
		
			
				
					|  |  |  |  | 			if ($method == 'HEAD') { | 
			
		
	
		
			
				
					|  |  |  |  | 				return true; | 
			
		
	
	
		
			
				
					|  |  |  | @ -278,7 +283,7 @@ class Connection extends Component | 
			
		
	
		
			
				
					|  |  |  |  | 				if (isset($headers['content-length']) && ($len = mb_strlen($body, '8bit')) < $headers['content-length']) { | 
			
		
	
		
			
				
					|  |  |  |  | 					throw new Exception("Incomplete data received from elasticsearch: $len < {$headers['content-length']}", [ | 
			
		
	
		
			
				
					|  |  |  |  | 						'requestMethod' => $method, | 
			
		
	
		
			
				
					|  |  |  |  | 						'requestUrl' => $url, | 
			
		
	
		
			
				
					|  |  |  |  | 						'requestUrl' => 'http://' . $host . '/' . $url, | 
			
		
	
		
			
				
					|  |  |  |  | 						'requestBody' => $requestBody, | 
			
		
	
		
			
				
					|  |  |  |  | 						'responseCode' => $responseCode, | 
			
		
	
		
			
				
					|  |  |  |  | 						'responseHeaders' => $headers, | 
			
		
	
	
		
			
				
					|  |  |  | @ -290,7 +295,7 @@ class Connection extends Component | 
			
		
	
		
			
				
					|  |  |  |  | 				} | 
			
		
	
		
			
				
					|  |  |  |  | 				throw new Exception('Unsupported data received from elasticsearch: ' . $headers['content-type'], [ | 
			
		
	
		
			
				
					|  |  |  |  | 					'requestMethod' => $method, | 
			
		
	
		
			
				
					|  |  |  |  | 					'requestUrl' => $url, | 
			
		
	
		
			
				
					|  |  |  |  | 					'requestUrl' => 'http://' . $host . '/' . $url, | 
			
		
	
		
			
				
					|  |  |  |  | 					'requestBody' => $requestBody, | 
			
		
	
		
			
				
					|  |  |  |  | 					'responseCode' => $responseCode, | 
			
		
	
		
			
				
					|  |  |  |  | 					'responseHeaders' => $headers, | 
			
		
	
	
		
			
				
					|  |  |  | @ -302,7 +307,7 @@ class Connection extends Component | 
			
		
	
		
			
				
					|  |  |  |  | 		} else { | 
			
		
	
		
			
				
					|  |  |  |  | 			throw new Exception("Elasticsearch request failed with code $responseCode.", [ | 
			
		
	
		
			
				
					|  |  |  |  | 				'requestMethod' => $method, | 
			
		
	
		
			
				
					|  |  |  |  | 				'requestUrl' => $url, | 
			
		
	
		
			
				
					|  |  |  |  | 				'requestUrl' => 'http://' . $host . '/' . $url, | 
			
		
	
		
			
				
					|  |  |  |  | 				'requestBody' => $requestBody, | 
			
		
	
		
			
				
					|  |  |  |  | 				'responseCode' => $responseCode, | 
			
		
	
		
			
				
					|  |  |  |  | 				'responseHeaders' => $headers, | 
			
		
	
	
		
			
				
					|  |  |  | 
 |