1313use Dot \Controller \Plugin \PluginInterface ;
1414use Dot \Controller \Plugin \PluginManager ;
1515use Dot \Controller \Plugin \PluginManagerAwareInterface ;
16+ use Interop \Http \ServerMiddleware \DelegateInterface ;
17+ use Interop \Http \ServerMiddleware \MiddlewareInterface ;
1618use Psr \Http \Message \ResponseInterface ;
1719use Psr \Http \Message \ServerRequestInterface ;
1820use Zend \EventManager \EventManagerAwareInterface ;
2224 * @package Dot\Controller
2325 */
2426abstract class AbstractController implements
27+ MiddlewareInterface,
2528 PluginManagerAwareInterface,
2629 EventManagerAwareInterface
2730{
@@ -33,11 +36,8 @@ abstract class AbstractController implements
3336 /** @var ServerRequestInterface */
3437 protected $ request ;
3538
36- /** @var ResponseInterface */
37- protected $ response ;
38-
39- /** @var callable */
40- protected $ next ;
39+ /** @var DelegateInterface */
40+ protected $ delegate ;
4141
4242 /** @var bool */
4343 protected $ debug = false ;
@@ -58,20 +58,10 @@ public static function getMethodFromAction(string $action): string
5858 return $ method ;
5959 }
6060
61- /**
62- * @param ServerRequestInterface $request
63- * @param ResponseInterface $response
64- * @param callable|null $next
65- * @return ResponseInterface
66- */
67- public function __invoke (
68- ServerRequestInterface $ request ,
69- ResponseInterface $ response ,
70- callable $ next = null
71- ): ResponseInterface {
61+ public function process (ServerRequestInterface $ request , DelegateInterface $ delegate ): ResponseInterface
62+ {
7263 $ this ->request = $ request ;
73- $ this ->response = $ response ;
74- $ this ->next = $ next ;
64+ $ this ->delegate = $ delegate ;
7565
7666 return $ this ->dispatch ();
7767 }
@@ -87,19 +77,11 @@ public function getRequest(): ServerRequestInterface
8777 }
8878
8979 /**
90- * @return ResponseInterface
91- */
92- public function getResponse (): ResponseInterface
93- {
94- return $ this ->response ;
95- }
96-
97- /**
98- * @return callable
80+ * @return DelegateInterface
9981 */
100- public function getNext (): callable
82+ public function getDelegate (): DelegateInterface
10183 {
102- return $ this ->next ;
84+ return $ this ->delegate ;
10385 }
10486
10587 /**
0 commit comments