IpLoginServiceProvider.php in IP Login 4.x
File
src/IpLoginServiceProvider.php
View source
<?php
namespace Drupal\ip_login;
use Drupal\Core\Config\BootstrapConfigStorageFactory;
use Drupal\Core\DependencyInjection\ContainerBuilder;
use Drupal\Core\DependencyInjection\ServiceProviderBase;
use Drupal\ip_login\StackMiddleware\EarlyIpLoginMiddleware;
use Drupal\ip_login\StackMiddleware\IpLoginMiddleware;
use Symfony\Component\DependencyInjection\Reference;
class IpLoginServiceProvider extends ServiceProviderBase {
public function register(ContainerBuilder $container) {
$config_storage = BootstrapConfigStorageFactory::get();
$settings = $config_storage
->read('ip_login.settings');
if ($settings['auto_login']) {
$container
->register('ip_login.early_middleware', EarlyIpLoginMiddleware::class)
->addTag('http_middleware', [
'priority' => 250,
'responder' => TRUE,
])
->addMethodCall('setContainer', [
new Reference('service_container'),
]);
$container
->register('ip_login.middleware', IpLoginMiddleware::class)
->addTag('http_middleware', [
'priority' => 30,
]);
$container
->register('ip_login.page_cache_request_policy', IpLoginPageCacheRequestPolicy::class)
->addTag('page_cache_request_policy');
}
}
}