class BasicAuthSolrConnector in Search API Solr 8
Same name and namespace in other branches
- 8.3 src/Plugin/SolrConnector/BasicAuthSolrConnector.php \Drupal\search_api_solr\Plugin\SolrConnector\BasicAuthSolrConnector
- 8.2 src/Plugin/SolrConnector/BasicAuthSolrConnector.php \Drupal\search_api_solr\Plugin\SolrConnector\BasicAuthSolrConnector
- 4.x src/Plugin/SolrConnector/BasicAuthSolrConnector.php \Drupal\search_api_solr\Plugin\SolrConnector\BasicAuthSolrConnector
Standard Solr connector.
Plugin annotation
@SolrConnector(
id = "basic_auth",
label = @Translation("Basic Auth"),
description = @Translation("A connector usable for Solr installations protected by basic authentication.")
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
- class \Drupal\search_api\Plugin\HideablePluginBase implements HideablePluginInterface
- class \Drupal\search_api\Plugin\ConfigurablePluginBase implements ConfigurablePluginInterface uses PluginDependencyTrait
- class \Drupal\search_api_solr\SolrConnector\SolrConnectorPluginBase implements PluginFormInterface, SolrConnectorInterface uses PluginFormTrait
- class \Drupal\search_api_solr\Plugin\SolrConnector\StandardSolrConnector
- class \Drupal\search_api_solr\Plugin\SolrConnector\BasicAuthSolrConnector
- class \Drupal\search_api_solr\Plugin\SolrConnector\StandardSolrConnector
- class \Drupal\search_api_solr\SolrConnector\SolrConnectorPluginBase implements PluginFormInterface, SolrConnectorInterface uses PluginFormTrait
- class \Drupal\search_api\Plugin\ConfigurablePluginBase implements ConfigurablePluginInterface uses PluginDependencyTrait
- class \Drupal\search_api\Plugin\HideablePluginBase implements HideablePluginInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of BasicAuthSolrConnector
File
- src/
Plugin/ SolrConnector/ BasicAuthSolrConnector.php, line 19
Namespace
Drupal\search_api_solr\Plugin\SolrConnectorView source
class BasicAuthSolrConnector extends StandardSolrConnector {
/**
* {@inheritdoc}
*/
public function defaultConfiguration() {
return parent::defaultConfiguration() + [
'username' => '',
'password' => '',
];
}
/**
* {@inheritdoc}
*/
public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
$form = parent::buildConfigurationForm($form, $form_state);
$form['auth'] = array(
'#type' => 'fieldset',
'#title' => $this
->t('HTTP Basic Authentication'),
'#description' => $this
->t('If your Solr server is protected by basic HTTP authentication, enter the login data here.'),
'#collapsible' => TRUE,
'#collapsed' => empty($this->configuration['username']),
);
$form['auth']['username'] = array(
'#type' => 'textfield',
'#title' => $this
->t('Username'),
'#default_value' => $this->configuration['username'],
'#required' => TRUE,
);
$form['auth']['password'] = array(
'#type' => 'password',
'#title' => $this
->t('Password'),
'#description' => $this
->t('If this field is left blank and the HTTP username is filled out, the current password will not be changed.'),
);
return $form;
}
/**
* {@inheritdoc}
*/
public function submitConfigurationForm(array &$form, FormStateInterface $form_state) {
$values = $form_state
->getValues();
// Since the form is nested into another, we can't simply use #parents for
// doing this array restructuring magic. (At least not without creating an
// unnecessary dependency on internal implementation.)
$values += $values['auth'];
// For password fields, there is no default value, they're empty by default.
// Therefore we ignore empty submissions if the user didn't change either.
if ($values['password'] === '' && isset($this->configuration['username']) && $values['username'] === $this->configuration['username']) {
$values['password'] = $this->configuration['password'];
}
foreach ($values['auth'] as $key => $value) {
$form_state
->setValue($key, $value);
}
// Clean-up the form to avoid redundant entries in the stored configuration.
$form_state
->unsetValue('auth');
parent::submitConfigurationForm($form, $form_state);
}
/**
* {@inheritdoc}
*/
public function search(Query $query, Endpoint $endpoint = NULL) {
$this
->connect();
if (!$endpoint) {
$endpoint = $this->solr
->getEndpoint('core');
}
// Use the 'postbigrequest' plugin if no specific http method is
// configured. The plugin needs to be loaded before the request is
// created.
if ($this->configuration['http_method'] == 'AUTO') {
$this->solr
->getPlugin('postbigrequest');
}
// Use the manual method of creating a Solarium request so we can control
// the HTTP method.
$request = $this->solr
->createRequest($query);
// Set the configured HTTP method.
if ($this->configuration['http_method'] == 'POST') {
$request
->setMethod(Request::METHOD_POST);
}
elseif ($this->configuration['http_method'] == 'GET') {
$request
->setMethod(Request::METHOD_GET);
}
// Set HTTP Basic Authentication parameter, if login data was set.
if (strlen($this->configuration['username']) && strlen($this->configuration['password'])) {
$request
->setAuthentication($this->configuration['username'], $this->configuration['password']);
}
return $this->solr
->executeRequest($request, $endpoint);
}
/**
* {@inheritdoc}
*/
public function viewSettings() {
$vars = array(
'%user' => $this->configuration['username'],
'%pass' => str_repeat('*', strlen($this->configuration['password'])),
);
$info[] = array(
'label' => $this
->t('Basic HTTP authentication'),
'info' => $this
->t('Username: %user | Password: %pass', $vars),
);
return $info;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
BasicAuthSolrConnector:: |
public | function |
Form constructor. Overrides SolrConnectorPluginBase:: |
|
BasicAuthSolrConnector:: |
public | function |
Gets default configuration for this plugin. Overrides SolrConnectorPluginBase:: |
|
BasicAuthSolrConnector:: |
public | function |
Executes a search query and returns the raw response. Overrides SolrConnectorPluginBase:: |
|
BasicAuthSolrConnector:: |
public | function |
Form submission handler. Overrides SolrConnectorPluginBase:: |
|
BasicAuthSolrConnector:: |
public | function |
Returns additional, connector-specific information about this server. Overrides SolrConnectorPluginBase:: |
|
ConfigurablePluginBase:: |
public | function |
Calculates dependencies for the configured plugin. Overrides DependentPluginInterface:: |
6 |
ConfigurablePluginBase:: |
protected | function | Calculates and adds dependencies of a specific plugin instance. | |
ConfigurablePluginBase:: |
public | function |
Gets this plugin's configuration. Overrides ConfigurableInterface:: |
|
ConfigurablePluginBase:: |
public | function |
Returns the plugin's description. Overrides ConfigurablePluginInterface:: |
|
ConfigurablePluginBase:: |
protected | function | Calculates and returns dependencies of a specific plugin instance. | |
ConfigurablePluginBase:: |
public | function |
Returns the label for use on the administration pages. Overrides ConfigurablePluginInterface:: |
|
ConfigurablePluginBase:: |
protected | function | Wraps the module handler. | |
ConfigurablePluginBase:: |
public | function |
Informs the plugin that some of its dependencies are being removed. Overrides ConfigurablePluginInterface:: |
5 |
ConfigurablePluginBase:: |
public | function |
Sets the configuration for this plugin instance. Overrides ConfigurableInterface:: |
3 |
ConfigurablePluginBase:: |
protected | function | Wraps the theme handler. | |
ConfigurablePluginBase:: |
public | function |
Constructs a \Drupal\Component\Plugin\PluginBase object. Overrides PluginBase:: |
2 |
DependencySerializationTrait:: |
protected | property | An array of entity type IDs keyed by the property name of their storages. | |
DependencySerializationTrait:: |
protected | property | An array of service IDs keyed by property name used for serialization. | |
DependencySerializationTrait:: |
public | function | 2 | |
DependencyTrait:: |
protected | property | The object's dependencies. | |
DependencyTrait:: |
protected | function | Adds multiple dependencies. | |
DependencyTrait:: |
protected | function | Adds a dependency. | |
HideablePluginBase:: |
public | function |
Determines whether this plugin should be hidden in the UI. Overrides HideablePluginInterface:: |
1 |
MessengerTrait:: |
protected | property | The messenger. | 29 |
MessengerTrait:: |
public | function | Gets the messenger. | 29 |
MessengerTrait:: |
public | function | Sets the messenger. | |
PluginBase:: |
protected | property | Configuration information passed into the plugin. | 1 |
PluginBase:: |
protected | property | The plugin implementation definition. | 1 |
PluginBase:: |
protected | property | The plugin_id. | |
PluginBase:: |
constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
PluginBase:: |
public | function |
Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: |
3 |
PluginBase:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
PluginBase:: |
public | function | Determines if the plugin is configurable. | |
PluginDependencyTrait:: |
protected | function | Calculates and adds dependencies of a specific plugin instance. Aliased as: traitCalculatePluginDependencies | 1 |
PluginDependencyTrait:: |
protected | function | Calculates and returns dependencies of a specific plugin instance. Aliased as: traitGetPluginDependencies | |
PluginDependencyTrait:: |
protected | function | Wraps the module handler. Aliased as: traitModuleHandler | 1 |
PluginDependencyTrait:: |
protected | function | Wraps the theme handler. Aliased as: traitThemeHandler | 1 |
PluginFormTrait:: |
public | function | Form submission handler. Aliased as: traitSubmitConfigurationForm | 7 |
SolrConnectorInterface:: |
constant | |||
SolrConnectorInterface:: |
constant | |||
SolrConnectorInterface:: |
constant | |||
SolrConnectorPluginBase:: |
protected | property | The event dispatcher. | |
SolrConnectorPluginBase:: |
protected | property | A connection to the Solr server. | |
SolrConnectorPluginBase:: |
protected | function | Attaches an endpoint to the Solr connection to communicate with the server. | |
SolrConnectorPluginBase:: |
public | function | ||
SolrConnectorPluginBase:: |
protected | function | Prepares the connection to the Solr server. | |
SolrConnectorPluginBase:: |
public | function |
Sends a REST GET request to the Solr core and returns the result. Overrides SolrConnectorInterface:: |
|
SolrConnectorPluginBase:: |
public | function |
Sends a REST POST request to the Solr core and returns the result. Overrides SolrConnectorInterface:: |
|
SolrConnectorPluginBase:: |
public static | function |
Creates an instance of the plugin. Overrides ConfigurablePluginBase:: |
|
SolrConnectorPluginBase:: |
protected | function | Create a Client. | |
SolrConnectorPluginBase:: |
public | function |
Creates a result from a response. Overrides SolrConnectorInterface:: |
|
SolrConnectorPluginBase:: |
protected | function | ||
SolrConnectorPluginBase:: |
protected | function | Pings the Solr server to tell whether it can be accessed. | |
SolrConnectorPluginBase:: |
public | function |
Executes any query. Overrides SolrConnectorInterface:: |
|
SolrConnectorPluginBase:: |
public | function |
Executes a request and returns the response. Overrides SolrConnectorInterface:: |
|
SolrConnectorPluginBase:: |
public | function |
Executes an extract query. Overrides SolrConnectorInterface:: |
|
SolrConnectorPluginBase:: |
public | function | ||
SolrConnectorPluginBase:: |
public | function |
Gets the content from an extract query result. Overrides SolrConnectorInterface:: |
|
SolrConnectorPluginBase:: |
public | function |
Gets information about the Solr Core. Overrides SolrConnectorInterface:: |
|
SolrConnectorPluginBase:: |
public | function |
Returns a link to the Solr core, if the necessary options are set. Overrides SolrConnectorInterface:: |
|
SolrConnectorPluginBase:: |
protected | function | Gets data from a Solr endpoint using a given handler. | |
SolrConnectorPluginBase:: |
public | function |
Returns an endpoint. Overrides SolrConnectorInterface:: |
|
SolrConnectorPluginBase:: |
public | function |
Creates a new Solarium extract query. Overrides SolrConnectorInterface:: |
|
SolrConnectorPluginBase:: |
public | function |
Retrieves a config file or file list from the Solr server. Overrides SolrConnectorInterface:: |
|
SolrConnectorPluginBase:: |
public | function |
Gets the LuceneMatchVersion string. Overrides SolrConnectorInterface:: |
|
SolrConnectorPluginBase:: |
public | function |
Gets meta-data about the index. Overrides SolrConnectorInterface:: |
|
SolrConnectorPluginBase:: |
public | function |
Creates a new Solarium more like this query. Overrides SolrConnectorInterface:: |
|
SolrConnectorPluginBase:: |
public | function |
Returns a Solarium query helper object. Overrides SolrConnectorInterface:: |
|
SolrConnectorPluginBase:: |
public | function |
Gets the schema version number. Overrides SolrConnectorInterface:: |
|
SolrConnectorPluginBase:: |
public | function |
Gets the full schema version string the core is using. Overrides SolrConnectorInterface:: |
|
SolrConnectorPluginBase:: |
public | function |
Creates a new Solarium update query. Overrides SolrConnectorInterface:: |
|
SolrConnectorPluginBase:: |
public | function |
Gets information about the Solr server. Overrides SolrConnectorInterface:: |
|
SolrConnectorPluginBase:: |
public | function |
Returns a link to the Solr server. Overrides SolrConnectorInterface:: |
|
SolrConnectorPluginBase:: |
protected | function | Returns a the Solr server URI. | |
SolrConnectorPluginBase:: |
public | function |
Gets the current Solr branch name. Overrides SolrConnectorInterface:: |
|
SolrConnectorPluginBase:: |
public | function |
Gets the current Solr major version. Overrides SolrConnectorInterface:: |
|
SolrConnectorPluginBase:: |
public | function |
Gets the current Solr version. Overrides SolrConnectorInterface:: |
|
SolrConnectorPluginBase:: |
public | function |
Gets summary information about the Solr Core. Overrides SolrConnectorInterface:: |
|
SolrConnectorPluginBase:: |
public | function |
Creates a new Solarium terms query. Overrides SolrConnectorInterface:: |
|
SolrConnectorPluginBase:: |
public | function |
Creates a new Solarium update query. Overrides SolrConnectorInterface:: |
|
SolrConnectorPluginBase:: |
protected | function | Converts a HttpException in an easier to read SearchApiSolrException. | |
SolrConnectorPluginBase:: |
public | function |
Optimizes the Solr index. Overrides SolrConnectorInterface:: |
|
SolrConnectorPluginBase:: |
public | function |
Pings the Solr core to tell whether it can be accessed. Overrides SolrConnectorInterface:: |
|
SolrConnectorPluginBase:: |
public | function |
Pings the Solr server to tell whether it can be accessed. Overrides SolrConnectorInterface:: |
|
SolrConnectorPluginBase:: |
protected | function | Sends a REST request to the Solr server endpoint and returns the result. | |
SolrConnectorPluginBase:: |
public | function |
Sends a REST GET request to the Solr server and returns the result. Overrides SolrConnectorInterface:: |
|
SolrConnectorPluginBase:: |
public | function |
Sends a REST POST request to the Solr server and returns the result. Overrides SolrConnectorInterface:: |
|
SolrConnectorPluginBase:: |
public | function |
Executes an update query and applies some tweaks. Overrides SolrConnectorInterface:: |
|
SolrConnectorPluginBase:: |
public | function | ||
SolrConnectorPluginBase:: |
public | function |
Form validation handler. Overrides PluginFormTrait:: |
|
SolrConnectorPluginBase:: |
public | function |
Overrides DependencySerializationTrait:: |
|
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. |