SuiteCRM-Core/Api/V8/Factory/ParamsMiddlewareFactory.php
Dillon-Brown 8e4cc94994 Squashed 'public/legacy/' content from commit 817a12dc0
git-subtree-dir: public/legacy
git-subtree-split: 817a12dc0c30c189f56d5cb1f7dc37a9631bdbe3
2021-03-31 15:37:32 +01:00

40 lines
948 B
PHP

<?php
namespace Api\V8\Factory;
use Api\V8\Middleware\ParamsMiddleware;
use Psr\Container\ContainerInterface as Container;
use Slim\Http\Request;
use Slim\Http\Response;
use Api\V8\BeanDecorator\BeanManager;
class ParamsMiddlewareFactory
{
/**
* @var Container
*/
protected $container;
/**
* @param Container $container
*/
public function __construct(Container $container)
{
$this->container = $container;
}
/**
* @param string $containerId
*
* @return callable
*/
public function bind($containerId)
{
$container = $this->container;
return function (Request $request, Response $response, callable $next) use ($containerId, $container) {
$paramMiddleware = new ParamsMiddleware($container->get($containerId), $container->get(BeanManager::class));
return $paramMiddleware($request, $response, $next);
};
}
}