for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/*
* This file is part of the LightSAML-Core package.
*
* (c) Milos Tomic <[email protected]>
* This source file is subject to the MIT license that is bundled
* with this source code in the file LICENSE.
*/
namespace LightSaml\Action\Profile;
use LightSaml\Action\ActionInterface;
use LightSaml\Context\ContextInterface;
use LightSaml\Context\Profile\ProfileContext;
use LightSaml\Error\LightSamlContextException;
use Psr\Log\LoggerInterface;
abstract class AbstractProfileAction implements ActionInterface
{
/** @var LoggerInterface */
protected $logger;
public function __construct(LoggerInterface $logger)
$this->logger = $logger;
}
/**
* @return void
public function execute(ContextInterface $context)
if ($context instanceof ProfileContext) {
$this->doExecute($context);
} else {
$message = sprintf('Expected ProfileContext but got %s', get_class($context));
$this->logger->emergency($message, ['context' => $context]);
throw new LightSamlContextException($context, $message);
abstract protected function doExecute(ProfileContext $context);