class HttpBundledPurger in Generic HTTP Purger 8
HTTP Bundled Purger.
Plugin annotation
@PurgePurger(
id = "httpbundled",
label = @Translation("HTTP Bundled Purger"),
configform = "\Drupal\purge_purger_http\Form\HttpBundledPurgerForm",
cooldown_time = 0.0,
description = @Translation("Configurable purger that sends a single HTTP request for a set of invalidation instructions."),
multi_instance = TRUE,
types = {},
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
- class \Drupal\purge\Plugin\Purge\Purger\PurgerBase implements PurgerInterface uses PurgeLoggerAwareTrait
- class \Drupal\purge_purger_http\Plugin\Purge\Purger\HttpPurgerBase implements PurgerInterface
- class \Drupal\purge_purger_http\Plugin\Purge\Purger\HttpBundledPurger implements PurgerInterface
- class \Drupal\purge_purger_http\Plugin\Purge\Purger\HttpPurgerBase implements PurgerInterface
- class \Drupal\purge\Plugin\Purge\Purger\PurgerBase implements PurgerInterface uses PurgeLoggerAwareTrait
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of HttpBundledPurger
File
- src/
Plugin/ Purge/ Purger/ HttpBundledPurger.php, line 21
Namespace
Drupal\purge_purger_http\Plugin\Purge\PurgerView source
class HttpBundledPurger extends HttpPurgerBase implements PurgerInterface {
/**
* {@inheritdoc}
*/
public function invalidate(array $invalidations) {
// Create a simple closure to mass-update states on the objects.
$set_state = function ($state) use ($invalidations) {
foreach ($invalidations as $invalidation) {
$invalidation
->setState($state);
}
};
// Build up a single HTTP request, execute it and log errors.
$token_data = [
'invalidations' => $invalidations,
];
$uri = $this
->getUri($token_data);
$opt = $this
->getOptions($token_data);
try {
$this->client
->request($this->settings->request_method, $uri, $opt);
$set_state(InvalidationInterface::SUCCEEDED);
} catch (\Exception $e) {
$set_state(InvalidationInterface::FAILED);
// Log as much useful information as we can.
$headers = $opt['headers'];
unset($opt['headers']);
$debug = json_encode(str_replace("\n", ' ', [
'msg' => $e
->getMessage(),
'uri' => $uri,
'method' => $this->settings->request_method,
'guzzle_opt' => $opt,
'headers' => $headers,
]));
$this
->logger()
->emergency("item failed due @e, details (JSON): @debug", [
'@e' => get_class($e),
'@debug' => $debug,
]);
}
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
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 | 1 | |
DependencySerializationTrait:: |
public | function | 2 | |
HttpBundledPurger:: |
public | function |
Invalidate content from external caches. Overrides PurgerInterface:: |
|
HttpPurgerBase:: |
protected | property | The Guzzle HTTP client. | |
HttpPurgerBase:: |
protected | property | The settings entity holding all configuration. | |
HttpPurgerBase:: |
protected | property | The token service. | |
HttpPurgerBase:: |
public static | function |
Creates an instance of the plugin. Overrides PurgerBase:: |
|
HttpPurgerBase:: |
public | function |
The current instance of this purger plugin is about to be deleted. Overrides PurgerBase:: |
|
HttpPurgerBase:: |
public | function |
Get the time in seconds to wait after invalidation. Overrides PurgerBase:: |
|
HttpPurgerBase:: |
protected | function | Retrieve all configured headers that need to be set. | |
HttpPurgerBase:: |
public | function |
Get the maximum number of invalidations that this purger can process. Overrides PurgerBase:: |
|
HttpPurgerBase:: |
public | function |
Retrieve the user-readable label for this purger instance. Overrides PurgerBase:: |
|
HttpPurgerBase:: |
protected | function | Retrieve the Guzzle connection options to set. | |
HttpPurgerBase:: |
public | function |
Get the maximum number of seconds, processing a single invalidation takes. Overrides PurgerBase:: |
|
HttpPurgerBase:: |
public | function |
Retrieve the list of supported invalidation types. Overrides PurgerBase:: |
|
HttpPurgerBase:: |
protected | function | Retrieve the URI to connect to. | |
HttpPurgerBase:: |
public | function |
Indicates whether your purger utilizes dynamic runtime measurement. Overrides PurgerCapacityDataInterface:: |
|
HttpPurgerBase:: |
final public | function |
Constructs the HTTP purger. Overrides PurgerBase:: |
|
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. | |
PurgeLoggerAwareTrait:: |
protected | property | Channel logger. | |
PurgeLoggerAwareTrait:: |
public | function | ||
PurgerBase:: |
protected | property | Unique instance ID for this purger. | |
PurgerBase:: |
protected | property | The runtime measurement counter. | |
PurgerBase:: |
public | function |
Retrieve the unique instance ID for this purger instance. Overrides PurgerInterface:: |
|
PurgerBase:: |
public | function |
Get the runtime measurement counter. Overrides PurgerCapacityDataInterface:: |
|
PurgerBase:: |
public | function |
Route certain type of invalidations to other methods. Overrides PurgerInterface:: |
|
PurgerBase:: |
public | function |
Inject the runtime measurement counter. Overrides PurgerCapacityDataInterface:: |
|
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. |