예제 #1
0
 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());
 }
예제 #2
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());
 }