public function SolariumRequestLogger::preExecuteRequest in Search API Solr 8.2
Same name and namespace in other branches
- 8.3 modules/search_api_solr_devel/src/Logging/SolariumRequestLogger.php \Drupal\search_api_solr_devel\Logging\SolariumRequestLogger::preExecuteRequest()
- 4.x modules/search_api_solr_devel/src/Logging/SolariumRequestLogger.php \Drupal\search_api_solr_devel\Logging\SolariumRequestLogger::preExecuteRequest()
Dumps a Solr query as drupal messages.
Parameters
\Solarium\Core\Event\PreExecuteRequest $event: The pre execute event.
File
- search_api_solr_devel/
src/ Logging/ SolariumRequestLogger.php, line 54
Class
- SolariumRequestLogger
- Event subscriber to handle Solarium events.
Namespace
Drupal\search_api_solr_devel\LoggingCode
public function preExecuteRequest(PreExecuteRequest $event) {
$request = $event
->getRequest();
$method = $request
->getMethod();
$this->develDumperManager
->message($request
->getUri(), $this
->t('Try to send Solr request'));
$dump = [];
$parameters = $method == 'GET' ? explode('&', $request
->getQueryString()) : explode('&', $request
->getRawData());
foreach ($parameters as $parameter) {
if ($parameter) {
if (strpos($parameter, '=')) {
list($name, $value) = explode('=', $parameter);
$dump[urldecode($name)][] = urldecode($value);
}
else {
$dump[urldecode($parameter)][] = '';
}
}
}
$this->develDumperManager
->message($dump, $method);
}