22
33namespace Eukles \Slim \Handlers \Strategies ;
44
5+ use Closure ;
56use Eukles \Action ;
67use Eukles \Container \ContainerInterface ;
78use Eukles \Service \Pagination \PaginationInterface ;
89use Eukles \Service \QueryModifier \QueryModifierInterface ;
910use Eukles \Service \ResponseBuilder \ResponseBuilderException ;
1011use Eukles \Service \ResponseFormatter \ResponseFormatterException ;
1112use Eukles \Slim \Handlers \ApiProblemRendererTrait ;
13+ use Exception ;
14+ use InvalidArgumentException ;
1215use Psr \Http \Message \ResponseInterface ;
1316use Psr \Http \Message \ServerRequestInterface ;
1417use Psr \Http \Message \UploadedFileInterface ;
18+ use ReflectionClass ;
19+ use ReflectionException ;
20+ use ReflectionParameter ;
1521use Slim \Interfaces \InvocationStrategyInterface ;
1622
1723/**
@@ -48,7 +54,7 @@ public function __construct(ContainerInterface $container)
4854 * @param array $routeArguments
4955 *
5056 * @return mixed
51- * @throws \ Exception
57+ * @throws Exception
5258 */
5359 public function __invoke (
5460 callable $ callable ,
@@ -81,7 +87,7 @@ public function callAction(
8187
8288 try {
8389 return call_user_func_array ($ callable , $ this ->buildParams ($ callable , $ request , $ routeArguments ));
84- } catch (\ Exception $ e ) {
90+ } catch (Exception $ e ) {
8591 $ handler = $ this ->container ->getActionErrorHandler ();
8692
8793 return $ handler ($ e , $ request , $ response );
@@ -96,7 +102,7 @@ public function callAction(
96102 * @param $routeArguments
97103 *
98104 * @return array
99- * @throws \ ReflectionException
105+ * @throws ReflectionException
100106 */
101107 protected function buildParams (
102108 callable $ callable ,
@@ -108,7 +114,7 @@ protected function buildParams(
108114 return [];
109115 }
110116
111- $ r = new \ ReflectionClass ($ callable [0 ]);
117+ $ r = new ReflectionClass ($ callable [0 ]);
112118 $ m = $ r ->getMethod ($ callable [1 ]);
113119 $ paramsMethod = $ m ->getParameters ();
114120
@@ -124,7 +130,7 @@ protected function buildParams(
124130
125131 $ buildParams = [];
126132
127- /** @var \ ReflectionParameter[] $params */
133+ /** @var ReflectionParameter[] $params */
128134 foreach ($ paramsMethod as $ param ) {
129135 $ name = $ param ->getName ();
130136 $ class = $ param ->getClass ();
@@ -141,7 +147,7 @@ protected function buildParams(
141147 /** @var UploadedFileInterface $attachment */
142148 $ buildParams [] = isset ($ files [0 ]) ? $ files [0 ] : null ;
143149 } elseif (!$ param ->isDefaultValueAvailable ()) {
144- throw new \ InvalidArgumentException (
150+ throw new InvalidArgumentException (
145151 "Missing or null required parameter ' {$ name }' in " . $ r ->getName () . ":: " . $ m ->getName ()
146152 );
147153 }
@@ -155,7 +161,7 @@ protected function buildParams(
155161 } elseif ($ param ->isDefaultValueAvailable ()) {
156162 $ paramValue = $ param ->getDefaultValue ();
157163 } else {
158- throw new \ InvalidArgumentException (
164+ throw new InvalidArgumentException (
159165 "Missing or null required parameter ' {$ name }' in " . $ r ->getName () . ":: " . $ m ->getName ()
160166 );
161167 }
@@ -170,10 +176,10 @@ protected function buildParams(
170176 * Build a string response
171177 *
172178 * @param mixed $result
173- * @param \Psr\Http\Message\ ResponseInterface $response
179+ * @param ResponseInterface $response
174180 *
175181 * @return ResponseInterface
176- * @throws \ Exception
182+ * @throws Exception
177183 */
178184 protected function buildResponse ($ result , ResponseInterface $ response )
179185 {
@@ -202,7 +208,7 @@ protected function buildResponse($result, ResponseInterface $response)
202208 * @param array $routeArguments
203209 *
204210 * @return mixed
205- * @throws \ Exception
211+ * @throws Exception
206212 */
207213 protected function callHandler (
208214 callable $ callable ,
@@ -211,13 +217,14 @@ protected function callHandler(
211217 array $ routeArguments
212218 ) {
213219 # Action is a closure
214- if ($ callable instanceof \ Closure) {
220+ if ($ callable instanceof Closure) {
215221 array_unshift ($ routeArguments , $ request , $ response );
216222 $ result = call_user_func_array ($ callable , $ routeArguments );
217223 } else {
218224 # Action is a method of an Action class
219225 if (is_array ($ callable ) && $ callable [0 ] instanceof Action \ActionInterface) {
220226 $ callable [0 ]->setResponse ($ response );
227+ $ callable [0 ]->setRequest ($ request );
221228 }
222229
223230 # Call Action method
0 commit comments