public function onPostExecuteRequest(PostExecuteRequestEvent $event) { if (null === $this->currentRequestCacheProfile) { return; } $this->getCache()->save($this->currentRequestCacheProfile->getKey(), serialize($event->getResponse()), $this->currentRequestCacheProfile->getLifetime()); }
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); }
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()); }