You are here

public function SolariumRequestLogger::preExecuteRequest in Search API Solr 4.x

Same name and namespace in other branches
  1. 8.3 modules/search_api_solr_devel/src/Logging/SolariumRequestLogger.php \Drupal\search_api_solr_devel\Logging\SolariumRequestLogger::preExecuteRequest()
  2. 8.2 search_api_solr_devel/src/Logging/SolariumRequestLogger.php \Drupal\search_api_solr_devel\Logging\SolariumRequestLogger::preExecuteRequest()

Dumps a Solr query as drupal messages.

Parameters

\Drupal\search_api_solr\Solarium\EventDispatcher\EventProxy $event: The pre execute event.

File

modules/search_api_solr_devel/src/Logging/SolariumRequestLogger.php, line 125

Class

SolariumRequestLogger
Event subscriber to handle Solarium events.

Namespace

Drupal\search_api_solr_devel\Logging

Code

public function preExecuteRequest($event) {
  static $counter = 0;
  $counter++;

  /** @var \Solarium\Core\Event\PreExecuteRequest $event */
  $request = $event
    ->getRequest();
  $endpoint = $event
    ->getEndpoint();
  if ($this
    ->shouldIgnore($request
    ->getHandler())) {
    return;
  }
  $debug = [
    'request count' => $counter,
    'datetime' => gmdate("Y-m-d\\TH:i:sP"),
    'Solr request' => $request,
    'Solr endpoint' => $endpoint,
    'Solr URI' => AdapterHelper::buildUri($request, $endpoint),
  ];

  // Show debugging on page.
  $this
    ->showMessage($counter, $debug, 'Search API Solr Debug: Request');

  // Log raw data to file.
  $this->develDumperManager
    ->debug($debug, 'Search API Solr Debug: Request', 'default');
  $this
    ->timerStart($counter);
}