2011-10-04 17:01:38 +02:00
|
|
|
<?php
|
2011-10-04 17:26:14 +02:00
|
|
|
|
2013-03-27 18:44:06 +01:00
|
|
|
namespace FOS\ElasticaBundle;
|
2011-10-04 17:01:38 +02:00
|
|
|
|
2013-04-22 13:20:10 +02:00
|
|
|
use Elastica\Client as ElasticaClient;
|
2013-05-06 10:32:50 +02:00
|
|
|
use Elastica\Request;
|
2013-12-10 11:25:38 +01:00
|
|
|
use FOS\ElasticaBundle\Logger\ElasticaLogger;
|
2013-05-06 10:32:50 +02:00
|
|
|
|
2011-10-04 17:01:38 +02:00
|
|
|
/**
|
|
|
|
* @author Gordon Franke <info@nevalon.de>
|
|
|
|
*/
|
2013-04-22 13:20:10 +02:00
|
|
|
class Client extends ElasticaClient
|
2011-10-04 17:01:38 +02:00
|
|
|
{
|
2013-04-22 13:20:10 +02:00
|
|
|
public function request($path, $method = Request::GET, $data = array(), array $query = array())
|
2011-10-04 17:26:14 +02:00
|
|
|
{
|
2011-10-04 17:46:27 +02:00
|
|
|
$start = microtime(true);
|
2012-05-02 00:06:28 +02:00
|
|
|
$response = parent::request($path, $method, $data, $query);
|
2011-10-04 17:46:27 +02:00
|
|
|
|
2013-12-10 11:25:38 +01:00
|
|
|
if (null !== $this->_logger and $this->_logger instanceof ElasticaLogger) {
|
2011-10-04 17:46:27 +02:00
|
|
|
$time = microtime(true) - $start;
|
2013-12-09 10:40:47 +01:00
|
|
|
|
|
|
|
$connection = $this->getLastRequest()->getConnection();
|
|
|
|
|
2013-12-09 14:46:06 +01:00
|
|
|
$connection_array = array(
|
|
|
|
'host' => $connection->getHost(),
|
|
|
|
'port' => $connection->getPort(),
|
|
|
|
'transport' => $connection->getTransport(),
|
|
|
|
);
|
2013-12-09 10:40:47 +01:00
|
|
|
|
2014-02-05 18:21:14 +01:00
|
|
|
$this->_logger->logQuery($path, $method, $data, $time, $connection_array, $query);
|
2011-10-04 17:26:14 +02:00
|
|
|
}
|
2011-10-04 17:01:38 +02:00
|
|
|
|
2011-10-04 17:46:27 +02:00
|
|
|
return $response;
|
2011-10-04 17:01:38 +02:00
|
|
|
}
|
|
|
|
}
|