Example #1
0
 public function onPostExecuteRequest(PostExecuteRequestEvent $event)
 {
     if (null === $this->currentRequestCacheProfile) {
         return;
     }
     $this->getCache()->save($this->currentRequestCacheProfile->getKey(), serialize($event->getResponse()), $this->currentRequestCacheProfile->getLifetime());
 }
Example #2
0
 public function logPostExecute(PostExecuteRequest $event)
 {
     foreach ($this->requests as &$request) {
         if ($request['request'] === $event->getRequest()) {
             $request['requestEnd'] = microtime(TRUE);
             break;
         }
     }
 }
 public function testConstructorAndGetters()
 {
     $client = new Client();
     $request = new Request();
     $request->addParam('testparam', 'test value');
     $endpoint = $client->getEndpoint();
     $response = new Response('', array('HTTP 1.0 200 OK'));
     $event = new PostExecuteRequest($request, $endpoint, $response);
     $this->assertEquals($request, $event->getRequest());
     $this->assertEquals($endpoint, $event->getEndpoint());
     $this->assertEquals($response, $event->getResponse());
 }
 public function postExecuteRequest(PostExecuteRequest $event)
 {
     $timeElapsed = TimeUtil::getElapsedTime($this->currentStartTime);
     if (!isset($this->currentRequest)) {
         throw new \RuntimeException('Request not set');
     }
     if ($this->currentRequest !== $event->getRequest()) {
         throw new \RuntimeException('Requests differ');
     }
     $this->addStat(new Stat(StatsdDataInterface::STATSD_METRIC_TIMING, $timeElapsed, array('solarium_endpoint' => $this->currentEndpoint->getKey(), 'solarium_request_method' => strtolower($event->getRequest()->getMethod()), 'solarium_response_status' => sprintf('%d', $event->getResponse()->getStatusCode()))));
     $this->currentRequest = null;
     $this->currentStartTime = null;
     $this->currentEndpoint = null;
 }
 public function testExecuteRequestPostPlugin()
 {
     $request = new Request();
     $endpoint = $this->client->createEndpoint('s1');
     $response = new Response('', array('HTTP 1.0 200 OK'));
     $expectedEvent = new PostExecuteRequestEvent($request, $endpoint, $response);
     $expectedEvent->setDispatcher($this->client->getEventDispatcher());
     $expectedEvent->setName(Events::POST_EXECUTE_REQUEST);
     $mockAdapter = $this->getMock('Solarium\\Core\\Client\\Adapter\\Http', array('execute'));
     $mockAdapter->expects($this->any())->method('execute')->with($this->equalTo($request))->will($this->returnValue($response));
     $this->client->setAdapter($mockAdapter);
     $observer = $this->getMock('Solarium\\Core\\Plugin\\Plugin', array('postExecuteRequest'));
     $observer->expects($this->once())->method('postExecuteRequest')->with($this->equalTo($expectedEvent));
     $this->client->getEventDispatcher()->addListener(Events::POST_EXECUTE_REQUEST, array($observer, 'postExecuteRequest'));
     $this->client->executeRequest($request, $endpoint);
 }
Example #6
0
 public function postExecuteRequest(SolariumPostExecuteRequestEvent $event)
 {
     $endTime = microtime(true) - $this->currentStartTime;
     if (!isset($this->currentRequest)) {
         throw new \RuntimeException('Request not set');
     }
     if ($this->currentRequest !== $event->getRequest()) {
         throw new \RuntimeException('Requests differ');
     }
     if (null !== $this->stopwatch) {
         $this->stopwatch->stop('solr');
     }
     $this->log($event->getRequest(), $event->getResponse(), $event->getEndpoint(), $endTime);
     $this->currentRequest = null;
     $this->currentStartTime = null;
     $this->currentEndpoint = null;
 }
 /**
  * @param PostExecuteRequest $event
  */
 public function postExecuteRequest(PostExecuteRequest $event)
 {
     $this->data['queries'][] = array('request' => $event->getRequest(), 'response' => $event->getResponse(), 'duration' => microtime(true) - $this->startTime, 'base_uri' => $event->getEndpoint()->getBaseUri());
 }