@@ -59,9 +59,9 @@ discard block |
||
59 | 59 | */ |
60 | 60 | public function __construct(string $pattern, $target, array $defaults = []) |
61 | 61 | { |
62 | - if ($target instanceof TargetInterface) { |
|
62 | + if ($target instanceof TargetInterface){ |
|
63 | 63 | parent::__construct($pattern, array_merge($target->getDefaults(), $defaults)); |
64 | - } else { |
|
64 | + }else{ |
|
65 | 65 | parent::__construct($pattern, $defaults); |
66 | 66 | } |
67 | 67 | |
@@ -76,7 +76,7 @@ discard block |
||
76 | 76 | { |
77 | 77 | /** @var self $route */ |
78 | 78 | $route = parent::withUriHandler($uriHandler); |
79 | - if ($this->target instanceof TargetInterface) { |
|
79 | + if ($this->target instanceof TargetInterface){ |
|
80 | 80 | $route->uriHandler = $route->uriHandler->withConstrains( |
81 | 81 | $this->target->getConstrains(), |
82 | 82 | $this->defaults |
@@ -97,7 +97,7 @@ discard block |
||
97 | 97 | $route = clone $this; |
98 | 98 | $route->container = $container; |
99 | 99 | |
100 | - if ($route->target instanceof TargetInterface) { |
|
100 | + if ($route->target instanceof TargetInterface){ |
|
101 | 101 | $route->target = clone $route->target; |
102 | 102 | } |
103 | 103 | |
@@ -114,7 +114,7 @@ discard block |
||
114 | 114 | */ |
115 | 115 | public function handle(ServerRequestInterface $request): ResponseInterface |
116 | 116 | { |
117 | - if (empty($this->requestHandler)) { |
|
117 | + if (empty($this->requestHandler)){ |
|
118 | 118 | $this->requestHandler = $this->requestHandler(); |
119 | 119 | } |
120 | 120 | |
@@ -131,30 +131,30 @@ discard block |
||
131 | 131 | */ |
132 | 132 | protected function requestHandler(): RequestHandlerInterface |
133 | 133 | { |
134 | - if (!$this->hasContainer()) { |
|
134 | + if (!$this->hasContainer()){ |
|
135 | 135 | throw new RouteException('Unable to configure route pipeline without associated container'); |
136 | 136 | } |
137 | 137 | |
138 | - if ($this->target instanceof TargetInterface) { |
|
139 | - try { |
|
138 | + if ($this->target instanceof TargetInterface){ |
|
139 | + try{ |
|
140 | 140 | return $this->target->getHandler($this->container, $this->matches); |
141 | - } catch (TargetException $e) { |
|
141 | + }catch (TargetException $e){ |
|
142 | 142 | throw new RouteException('Invalid target resolution', $e->getCode(), $e); |
143 | 143 | } |
144 | 144 | } |
145 | 145 | |
146 | - if ($this->target instanceof RequestHandlerInterface) { |
|
146 | + if ($this->target instanceof RequestHandlerInterface){ |
|
147 | 147 | return $this->target; |
148 | 148 | } |
149 | 149 | |
150 | - try { |
|
151 | - if (is_object($this->target) || is_array($this->target)) { |
|
150 | + try{ |
|
151 | + if (is_object($this->target) || is_array($this->target)){ |
|
152 | 152 | $target = $this->target; |
153 | - } else { |
|
153 | + }else{ |
|
154 | 154 | $target = $this->container->get($this->target); |
155 | 155 | } |
156 | 156 | |
157 | - if ($target instanceof RequestHandlerInterface) { |
|
157 | + if ($target instanceof RequestHandlerInterface){ |
|
158 | 158 | return $target; |
159 | 159 | } |
160 | 160 | |
@@ -162,7 +162,7 @@ discard block |
||
162 | 162 | $target, |
163 | 163 | $this->container->get(ResponseFactoryInterface::class) |
164 | 164 | ); |
165 | - } catch (ContainerExceptionInterface $e) { |
|
165 | + }catch (ContainerExceptionInterface $e){ |
|
166 | 166 | throw new RouteException($e->getMessage(), $e->getCode(), $e); |
167 | 167 | } |
168 | 168 | } |
@@ -59,9 +59,12 @@ discard block |
||
59 | 59 | */ |
60 | 60 | public function __construct(string $pattern, $target, array $defaults = []) |
61 | 61 | { |
62 | - if ($target instanceof TargetInterface) { |
|
62 | + if ($target instanceof TargetInterface) |
|
63 | + { |
|
63 | 64 | parent::__construct($pattern, array_merge($target->getDefaults(), $defaults)); |
64 | - } else { |
|
65 | + } |
|
66 | + else |
|
67 | + { |
|
65 | 68 | parent::__construct($pattern, $defaults); |
66 | 69 | } |
67 | 70 | |
@@ -76,7 +79,8 @@ discard block |
||
76 | 79 | { |
77 | 80 | /** @var self $route */ |
78 | 81 | $route = parent::withUriHandler($uriHandler); |
79 | - if ($this->target instanceof TargetInterface) { |
|
82 | + if ($this->target instanceof TargetInterface) |
|
83 | + { |
|
80 | 84 | $route->uriHandler = $route->uriHandler->withConstrains( |
81 | 85 | $this->target->getConstrains(), |
82 | 86 | $this->defaults |
@@ -97,7 +101,8 @@ discard block |
||
97 | 101 | $route = clone $this; |
98 | 102 | $route->container = $container; |
99 | 103 | |
100 | - if ($route->target instanceof TargetInterface) { |
|
104 | + if ($route->target instanceof TargetInterface) |
|
105 | + { |
|
101 | 106 | $route->target = clone $route->target; |
102 | 107 | } |
103 | 108 | |
@@ -114,7 +119,8 @@ discard block |
||
114 | 119 | */ |
115 | 120 | public function handle(ServerRequestInterface $request): ResponseInterface |
116 | 121 | { |
117 | - if (empty($this->requestHandler)) { |
|
122 | + if (empty($this->requestHandler)) |
|
123 | + { |
|
118 | 124 | $this->requestHandler = $this->requestHandler(); |
119 | 125 | } |
120 | 126 | |
@@ -131,30 +137,41 @@ discard block |
||
131 | 137 | */ |
132 | 138 | protected function requestHandler(): RequestHandlerInterface |
133 | 139 | { |
134 | - if (!$this->hasContainer()) { |
|
140 | + if (!$this->hasContainer()) |
|
141 | + { |
|
135 | 142 | throw new RouteException('Unable to configure route pipeline without associated container'); |
136 | 143 | } |
137 | 144 | |
138 | - if ($this->target instanceof TargetInterface) { |
|
139 | - try { |
|
145 | + if ($this->target instanceof TargetInterface) |
|
146 | + { |
|
147 | + try |
|
148 | + { |
|
140 | 149 | return $this->target->getHandler($this->container, $this->matches); |
141 | - } catch (TargetException $e) { |
|
150 | + } |
|
151 | + catch (TargetException $e) |
|
152 | + { |
|
142 | 153 | throw new RouteException('Invalid target resolution', $e->getCode(), $e); |
143 | 154 | } |
144 | 155 | } |
145 | 156 | |
146 | - if ($this->target instanceof RequestHandlerInterface) { |
|
157 | + if ($this->target instanceof RequestHandlerInterface) |
|
158 | + { |
|
147 | 159 | return $this->target; |
148 | 160 | } |
149 | 161 | |
150 | - try { |
|
151 | - if (is_object($this->target) || is_array($this->target)) { |
|
162 | + try |
|
163 | + { |
|
164 | + if (is_object($this->target) || is_array($this->target)) |
|
165 | + { |
|
152 | 166 | $target = $this->target; |
153 | - } else { |
|
167 | + } |
|
168 | + else |
|
169 | + { |
|
154 | 170 | $target = $this->container->get($this->target); |
155 | 171 | } |
156 | 172 | |
157 | - if ($target instanceof RequestHandlerInterface) { |
|
173 | + if ($target instanceof RequestHandlerInterface) |
|
174 | + { |
|
158 | 175 | return $target; |
159 | 176 | } |
160 | 177 | |
@@ -162,7 +179,9 @@ discard block |
||
162 | 179 | $target, |
163 | 180 | $this->container->get(ResponseFactoryInterface::class) |
164 | 181 | ); |
165 | - } catch (ContainerExceptionInterface $e) { |
|
182 | + } |
|
183 | + catch (ContainerExceptionInterface $e) |
|
184 | + { |
|
166 | 185 | throw new RouteException($e->getMessage(), $e->getCode(), $e); |
167 | 186 | } |
168 | 187 | } |
@@ -39,7 +39,7 @@ discard block |
||
39 | 39 | */ |
40 | 40 | public function __construct(string $controller, $action, int $options = 0) |
41 | 41 | { |
42 | - if (!is_string($action) && !is_array($action)) { |
|
42 | + if (!is_string($action) && !is_array($action)){ |
|
43 | 43 | throw new InvalidArgumentException( |
44 | 44 | sprintf( |
45 | 45 | 'Action parameter must type string or array, `%s` given', |
@@ -51,13 +51,13 @@ discard block |
||
51 | 51 | $this->controller = $controller; |
52 | 52 | $this->action = $action; |
53 | 53 | |
54 | - if (is_string($action)) { |
|
54 | + if (is_string($action)){ |
|
55 | 55 | parent::__construct( |
56 | 56 | ['action' => $action], |
57 | 57 | ['action' => new Autofill($action)], |
58 | 58 | $options |
59 | 59 | ); |
60 | - } else { |
|
60 | + }else{ |
|
61 | 61 | parent::__construct( |
62 | 62 | ['action' => null], |
63 | 63 | ['action' => $action], |
@@ -80,7 +80,7 @@ discard block |
||
80 | 80 | protected function resolveAction(array $matches): string |
81 | 81 | { |
82 | 82 | $action = $this->action; |
83 | - if (is_string($action)) { |
|
83 | + if (is_string($action)){ |
|
84 | 84 | return $action; |
85 | 85 | } |
86 | 86 |
@@ -39,7 +39,8 @@ discard block |
||
39 | 39 | */ |
40 | 40 | public function __construct(string $controller, $action, int $options = 0) |
41 | 41 | { |
42 | - if (!is_string($action) && !is_array($action)) { |
|
42 | + if (!is_string($action) && !is_array($action)) |
|
43 | + { |
|
43 | 44 | throw new InvalidArgumentException( |
44 | 45 | sprintf( |
45 | 46 | 'Action parameter must type string or array, `%s` given', |
@@ -51,13 +52,16 @@ discard block |
||
51 | 52 | $this->controller = $controller; |
52 | 53 | $this->action = $action; |
53 | 54 | |
54 | - if (is_string($action)) { |
|
55 | + if (is_string($action)) |
|
56 | + { |
|
55 | 57 | parent::__construct( |
56 | 58 | ['action' => $action], |
57 | 59 | ['action' => new Autofill($action)], |
58 | 60 | $options |
59 | 61 | ); |
60 | - } else { |
|
62 | + } |
|
63 | + else |
|
64 | + { |
|
61 | 65 | parent::__construct( |
62 | 66 | ['action' => null], |
63 | 67 | ['action' => $action], |
@@ -80,7 +84,8 @@ discard block |
||
80 | 84 | protected function resolveAction(array $matches): string |
81 | 85 | { |
82 | 86 | $action = $this->action; |
83 | - if (is_string($action)) { |
|
87 | + if (is_string($action)) |
|
88 | + { |
|
84 | 89 | return $action; |
85 | 90 | } |
86 | 91 |
@@ -40,7 +40,7 @@ discard block |
||
40 | 40 | string $postfix = 'Controller', |
41 | 41 | int $options = 0, |
42 | 42 | string $defaultAction = 'index' |
43 | - ) { |
|
43 | + ){ |
|
44 | 44 | $this->namespace = rtrim($namespace, '\\'); |
45 | 45 | $this->postfix = ucfirst($postfix); |
46 | 46 | |
@@ -58,7 +58,7 @@ discard block |
||
58 | 58 | */ |
59 | 59 | protected function resolveController(array $matches): string |
60 | 60 | { |
61 | - if (preg_match('/[^a-z_0-9\-]/i', $matches['controller'])) { |
|
61 | + if (preg_match('/[^a-z_0-9\-]/i', $matches['controller'])){ |
|
62 | 62 | throw new TargetException('Invalid namespace target, controller name not allowed.'); |
63 | 63 | } |
64 | 64 |
@@ -58,7 +58,8 @@ |
||
58 | 58 | */ |
59 | 59 | protected function resolveController(array $matches): string |
60 | 60 | { |
61 | - if (preg_match('/[^a-z_0-9\-]/i', $matches['controller'])) { |
|
61 | + if (preg_match('/[^a-z_0-9\-]/i', $matches['controller'])) |
|
62 | + { |
|
62 | 63 | throw new TargetException('Invalid namespace target, controller name not allowed.'); |
63 | 64 | } |
64 | 65 |
@@ -105,11 +105,11 @@ discard block |
||
105 | 105 | */ |
106 | 106 | protected function coreHandler(ContainerInterface $container): CoreHandler |
107 | 107 | { |
108 | - if ($this->handler !== null) { |
|
108 | + if ($this->handler !== null){ |
|
109 | 109 | return $this->handler; |
110 | 110 | } |
111 | 111 | |
112 | - try { |
|
112 | + try{ |
|
113 | 113 | // construct on demand |
114 | 114 | $this->handler = new CoreHandler( |
115 | 115 | $this->core ?? $container->get(CoreInterface::class), |
@@ -118,7 +118,7 @@ discard block |
||
118 | 118 | ); |
119 | 119 | |
120 | 120 | return $this->handler; |
121 | - } catch (ContainerExceptionInterface $e) { |
|
121 | + }catch (ContainerExceptionInterface $e){ |
|
122 | 122 | throw new TargetException($e->getMessage(), $e->getCode(), $e); |
123 | 123 | } |
124 | 124 | } |
@@ -105,11 +105,13 @@ discard block |
||
105 | 105 | */ |
106 | 106 | protected function coreHandler(ContainerInterface $container): CoreHandler |
107 | 107 | { |
108 | - if ($this->handler !== null) { |
|
108 | + if ($this->handler !== null) |
|
109 | + { |
|
109 | 110 | return $this->handler; |
110 | 111 | } |
111 | 112 | |
112 | - try { |
|
113 | + try |
|
114 | + { |
|
113 | 115 | // construct on demand |
114 | 116 | $this->handler = new CoreHandler( |
115 | 117 | $this->core ?? $container->get(CoreInterface::class), |
@@ -118,7 +120,9 @@ discard block |
||
118 | 120 | ); |
119 | 121 | |
120 | 122 | return $this->handler; |
121 | - } catch (ContainerExceptionInterface $e) { |
|
123 | + } |
|
124 | + catch (ContainerExceptionInterface $e) |
|
125 | + { |
|
122 | 126 | throw new TargetException($e->getMessage(), $e->getCode(), $e); |
123 | 127 | } |
124 | 128 | } |
@@ -56,7 +56,7 @@ discard block |
||
56 | 56 | */ |
57 | 57 | public function __construct(string $basePath, UriHandler $uriHandler, ContainerInterface $container) |
58 | 58 | { |
59 | - $this->basePath = '/' . ltrim($basePath, '/'); |
|
59 | + $this->basePath = '/'.ltrim($basePath, '/'); |
|
60 | 60 | $this->uriHandler = $uriHandler; |
61 | 61 | $this->container = $container; |
62 | 62 | } |
@@ -69,13 +69,13 @@ discard block |
||
69 | 69 | */ |
70 | 70 | public function handle(ServerRequestInterface $request): ResponseInterface |
71 | 71 | { |
72 | - try { |
|
72 | + try{ |
|
73 | 73 | $route = $this->matchRoute($request, $routeName); |
74 | - } catch (RouteException $e) { |
|
74 | + }catch (RouteException $e){ |
|
75 | 75 | throw new RouterException('Invalid route definition', $e->getCode(), $e); |
76 | 76 | } |
77 | 77 | |
78 | - if ($route === null) { |
|
78 | + if ($route === null){ |
|
79 | 79 | throw new RouteNotFoundException($request->getUri()); |
80 | 80 | } |
81 | 81 | |
@@ -120,7 +120,7 @@ discard block |
||
120 | 120 | */ |
121 | 121 | public function getRoute(string $name): RouteInterface |
122 | 122 | { |
123 | - if (isset($this->routes[$name])) { |
|
123 | + if (isset($this->routes[$name])){ |
|
124 | 124 | return $this->routes[$name]; |
125 | 125 | } |
126 | 126 | |
@@ -132,7 +132,7 @@ discard block |
||
132 | 132 | */ |
133 | 133 | public function getRoutes(): array |
134 | 134 | { |
135 | - if (!empty($this->default)) { |
|
135 | + if (!empty($this->default)){ |
|
136 | 136 | return $this->routes + [null => $this->default]; |
137 | 137 | } |
138 | 138 | |
@@ -144,9 +144,9 @@ discard block |
||
144 | 144 | */ |
145 | 145 | public function uri(string $route, $parameters = []): UriInterface |
146 | 146 | { |
147 | - try { |
|
147 | + try{ |
|
148 | 148 | return $this->getRoute($route)->uri($parameters); |
149 | - } catch (UndefinedRouteException $e) { |
|
149 | + }catch (UndefinedRouteException $e){ |
|
150 | 150 | //In some cases route name can be provided as controller:action pair, we can try to |
151 | 151 | //generate such route automatically based on our default/fallback route |
152 | 152 | return $this->castRoute($route)->uri($parameters); |
@@ -161,17 +161,17 @@ discard block |
||
161 | 161 | */ |
162 | 162 | protected function matchRoute(ServerRequestInterface $request, string &$routeName = null): ?RouteInterface |
163 | 163 | { |
164 | - foreach ($this->routes as $name => $route) { |
|
164 | + foreach ($this->routes as $name => $route){ |
|
165 | 165 | // Matched route will return new route instance with matched parameters |
166 | 166 | $matched = $route->match($request); |
167 | 167 | |
168 | - if ($matched !== null) { |
|
168 | + if ($matched !== null){ |
|
169 | 169 | $routeName = $name; |
170 | 170 | return $matched; |
171 | 171 | } |
172 | 172 | } |
173 | 173 | |
174 | - if ($this->default !== null) { |
|
174 | + if ($this->default !== null){ |
|
175 | 175 | return $this->default->match($request); |
176 | 176 | } |
177 | 177 | |
@@ -187,7 +187,7 @@ discard block |
||
187 | 187 | */ |
188 | 188 | protected function configure(RouteInterface $route): RouteInterface |
189 | 189 | { |
190 | - if ($route instanceof ContainerizedInterface && !$route->hasContainer()) { |
|
190 | + if ($route instanceof ContainerizedInterface && !$route->hasContainer()){ |
|
191 | 191 | // isolating route in a given container |
192 | 192 | $route = $route->withContainer($this->container); |
193 | 193 | } |
@@ -214,17 +214,17 @@ discard block |
||
214 | 214 | $route, |
215 | 215 | $matches |
216 | 216 | ) |
217 | - ) { |
|
217 | + ){ |
|
218 | 218 | throw new UndefinedRouteException( |
219 | 219 | "Unable to locate route or use default route with 'name/controller:action' pattern" |
220 | 220 | ); |
221 | 221 | } |
222 | 222 | |
223 | - if (!empty($matches['name'])) { |
|
223 | + if (!empty($matches['name'])){ |
|
224 | 224 | $routeObject = $this->getRoute($matches['name']); |
225 | - } elseif ($this->default !== null) { |
|
225 | + } elseif ($this->default !== null){ |
|
226 | 226 | $routeObject = $this->default; |
227 | - } else { |
|
227 | + }else{ |
|
228 | 228 | throw new UndefinedRouteException("Unable to locate route candidate for `{$route}`"); |
229 | 229 | } |
230 | 230 |
@@ -69,13 +69,17 @@ discard block |
||
69 | 69 | */ |
70 | 70 | public function handle(ServerRequestInterface $request): ResponseInterface |
71 | 71 | { |
72 | - try { |
|
72 | + try |
|
73 | + { |
|
73 | 74 | $route = $this->matchRoute($request, $routeName); |
74 | - } catch (RouteException $e) { |
|
75 | + } |
|
76 | + catch (RouteException $e) |
|
77 | + { |
|
75 | 78 | throw new RouterException('Invalid route definition', $e->getCode(), $e); |
76 | 79 | } |
77 | 80 | |
78 | - if ($route === null) { |
|
81 | + if ($route === null) |
|
82 | + { |
|
79 | 83 | throw new RouteNotFoundException($request->getUri()); |
80 | 84 | } |
81 | 85 | |
@@ -120,7 +124,8 @@ discard block |
||
120 | 124 | */ |
121 | 125 | public function getRoute(string $name): RouteInterface |
122 | 126 | { |
123 | - if (isset($this->routes[$name])) { |
|
127 | + if (isset($this->routes[$name])) |
|
128 | + { |
|
124 | 129 | return $this->routes[$name]; |
125 | 130 | } |
126 | 131 | |
@@ -132,7 +137,8 @@ discard block |
||
132 | 137 | */ |
133 | 138 | public function getRoutes(): array |
134 | 139 | { |
135 | - if (!empty($this->default)) { |
|
140 | + if (!empty($this->default)) |
|
141 | + { |
|
136 | 142 | return $this->routes + [null => $this->default]; |
137 | 143 | } |
138 | 144 | |
@@ -144,9 +150,12 @@ discard block |
||
144 | 150 | */ |
145 | 151 | public function uri(string $route, $parameters = []): UriInterface |
146 | 152 | { |
147 | - try { |
|
153 | + try |
|
154 | + { |
|
148 | 155 | return $this->getRoute($route)->uri($parameters); |
149 | - } catch (UndefinedRouteException $e) { |
|
156 | + } |
|
157 | + catch (UndefinedRouteException $e) |
|
158 | + { |
|
150 | 159 | //In some cases route name can be provided as controller:action pair, we can try to |
151 | 160 | //generate such route automatically based on our default/fallback route |
152 | 161 | return $this->castRoute($route)->uri($parameters); |
@@ -161,17 +170,20 @@ discard block |
||
161 | 170 | */ |
162 | 171 | protected function matchRoute(ServerRequestInterface $request, string &$routeName = null): ?RouteInterface |
163 | 172 | { |
164 | - foreach ($this->routes as $name => $route) { |
|
173 | + foreach ($this->routes as $name => $route) |
|
174 | + { |
|
165 | 175 | // Matched route will return new route instance with matched parameters |
166 | 176 | $matched = $route->match($request); |
167 | 177 | |
168 | - if ($matched !== null) { |
|
178 | + if ($matched !== null) |
|
179 | + { |
|
169 | 180 | $routeName = $name; |
170 | 181 | return $matched; |
171 | 182 | } |
172 | 183 | } |
173 | 184 | |
174 | - if ($this->default !== null) { |
|
185 | + if ($this->default !== null) |
|
186 | + { |
|
175 | 187 | return $this->default->match($request); |
176 | 188 | } |
177 | 189 | |
@@ -187,7 +199,8 @@ discard block |
||
187 | 199 | */ |
188 | 200 | protected function configure(RouteInterface $route): RouteInterface |
189 | 201 | { |
190 | - if ($route instanceof ContainerizedInterface && !$route->hasContainer()) { |
|
202 | + if ($route instanceof ContainerizedInterface && !$route->hasContainer()) |
|
203 | + { |
|
191 | 204 | // isolating route in a given container |
192 | 205 | $route = $route->withContainer($this->container); |
193 | 206 | } |
@@ -220,11 +233,16 @@ discard block |
||
220 | 233 | ); |
221 | 234 | } |
222 | 235 | |
223 | - if (!empty($matches['name'])) { |
|
236 | + if (!empty($matches['name'])) |
|
237 | + { |
|
224 | 238 | $routeObject = $this->getRoute($matches['name']); |
225 | - } elseif ($this->default !== null) { |
|
239 | + } |
|
240 | + elseif ($this->default !== null) |
|
241 | + { |
|
226 | 242 | $routeObject = $this->default; |
227 | - } else { |
|
243 | + } |
|
244 | + else |
|
245 | + { |
|
228 | 246 | throw new UndefinedRouteException("Unable to locate route candidate for `{$route}`"); |
229 | 247 | } |
230 | 248 |
@@ -46,15 +46,15 @@ discard block |
||
46 | 46 | $route = clone $this; |
47 | 47 | |
48 | 48 | // array fallback |
49 | - if (count($middleware) === 1 && is_array($middleware[0])) { |
|
49 | + if (count($middleware) === 1 && is_array($middleware[0])){ |
|
50 | 50 | $middleware = $middleware[0]; |
51 | 51 | } |
52 | 52 | |
53 | - foreach ($middleware as $item) { |
|
54 | - if (!is_string($item) && !$item instanceof MiddlewareInterface) { |
|
55 | - if (is_object($item)) { |
|
53 | + foreach ($middleware as $item){ |
|
54 | + if (!is_string($item) && !$item instanceof MiddlewareInterface){ |
|
55 | + if (is_object($item)){ |
|
56 | 56 | $name = get_class($item); |
57 | - } else { |
|
57 | + }else{ |
|
58 | 58 | $name = gettype($item); |
59 | 59 | } |
60 | 60 | |
@@ -64,7 +64,7 @@ discard block |
||
64 | 64 | $route->middleware[] = $item; |
65 | 65 | } |
66 | 66 | |
67 | - if ($route->pipeline !== null) { |
|
67 | + if ($route->pipeline !== null){ |
|
68 | 68 | $route->pipeline = $route->makePipeline(); |
69 | 69 | } |
70 | 70 | |
@@ -81,22 +81,22 @@ discard block |
||
81 | 81 | protected function makePipeline(): Pipeline |
82 | 82 | { |
83 | 83 | // pre-aggregated |
84 | - if (count($this->middleware) === 1 && $this->middleware[0] instanceof Pipeline) { |
|
84 | + if (count($this->middleware) === 1 && $this->middleware[0] instanceof Pipeline){ |
|
85 | 85 | return $this->middleware[0]; |
86 | 86 | } |
87 | 87 | |
88 | - try { |
|
88 | + try{ |
|
89 | 89 | $pipeline = $this->container->get(Pipeline::class); |
90 | 90 | |
91 | - foreach ($this->middleware as $middleware) { |
|
92 | - if ($middleware instanceof MiddlewareInterface) { |
|
91 | + foreach ($this->middleware as $middleware){ |
|
92 | + if ($middleware instanceof MiddlewareInterface){ |
|
93 | 93 | $pipeline->pushMiddleware($middleware); |
94 | - } else { |
|
94 | + }else{ |
|
95 | 95 | // dynamically resolved |
96 | 96 | $pipeline->pushMiddleware($this->container->get($middleware)); |
97 | 97 | } |
98 | 98 | } |
99 | - } catch (ContainerExceptionInterface $e) { |
|
99 | + }catch (ContainerExceptionInterface $e){ |
|
100 | 100 | throw new RouteException($e->getMessage(), $e->getCode(), $e); |
101 | 101 | } |
102 | 102 |
@@ -46,15 +46,21 @@ discard block |
||
46 | 46 | $route = clone $this; |
47 | 47 | |
48 | 48 | // array fallback |
49 | - if (count($middleware) === 1 && is_array($middleware[0])) { |
|
49 | + if (count($middleware) === 1 && is_array($middleware[0])) |
|
50 | + { |
|
50 | 51 | $middleware = $middleware[0]; |
51 | 52 | } |
52 | 53 | |
53 | - foreach ($middleware as $item) { |
|
54 | - if (!is_string($item) && !$item instanceof MiddlewareInterface) { |
|
55 | - if (is_object($item)) { |
|
54 | + foreach ($middleware as $item) |
|
55 | + { |
|
56 | + if (!is_string($item) && !$item instanceof MiddlewareInterface) |
|
57 | + { |
|
58 | + if (is_object($item)) |
|
59 | + { |
|
56 | 60 | $name = get_class($item); |
57 | - } else { |
|
61 | + } |
|
62 | + else |
|
63 | + { |
|
58 | 64 | $name = gettype($item); |
59 | 65 | } |
60 | 66 | |
@@ -64,7 +70,8 @@ discard block |
||
64 | 70 | $route->middleware[] = $item; |
65 | 71 | } |
66 | 72 | |
67 | - if ($route->pipeline !== null) { |
|
73 | + if ($route->pipeline !== null) |
|
74 | + { |
|
68 | 75 | $route->pipeline = $route->makePipeline(); |
69 | 76 | } |
70 | 77 | |
@@ -81,22 +88,30 @@ discard block |
||
81 | 88 | protected function makePipeline(): Pipeline |
82 | 89 | { |
83 | 90 | // pre-aggregated |
84 | - if (count($this->middleware) === 1 && $this->middleware[0] instanceof Pipeline) { |
|
91 | + if (count($this->middleware) === 1 && $this->middleware[0] instanceof Pipeline) |
|
92 | + { |
|
85 | 93 | return $this->middleware[0]; |
86 | 94 | } |
87 | 95 | |
88 | - try { |
|
96 | + try |
|
97 | + { |
|
89 | 98 | $pipeline = $this->container->get(Pipeline::class); |
90 | 99 | |
91 | - foreach ($this->middleware as $middleware) { |
|
92 | - if ($middleware instanceof MiddlewareInterface) { |
|
100 | + foreach ($this->middleware as $middleware) |
|
101 | + { |
|
102 | + if ($middleware instanceof MiddlewareInterface) |
|
103 | + { |
|
93 | 104 | $pipeline->pushMiddleware($middleware); |
94 | - } else { |
|
105 | + } |
|
106 | + else |
|
107 | + { |
|
95 | 108 | // dynamically resolved |
96 | 109 | $pipeline->pushMiddleware($this->container->get($middleware)); |
97 | 110 | } |
98 | 111 | } |
99 | - } catch (ContainerExceptionInterface $e) { |
|
112 | + } |
|
113 | + catch (ContainerExceptionInterface $e) |
|
114 | + { |
|
100 | 115 | throw new RouteException($e->getMessage(), $e->getCode(), $e); |
101 | 116 | } |
102 | 117 |
@@ -30,9 +30,9 @@ |
||
30 | 30 | */ |
31 | 31 | public function withVerbs(string ...$verbs): RouteInterface |
32 | 32 | { |
33 | - foreach ($verbs as &$verb) { |
|
33 | + foreach ($verbs as &$verb){ |
|
34 | 34 | $verb = strtoupper($verb); |
35 | - if (!in_array($verb, RouteInterface::VERBS, true)) { |
|
35 | + if (!in_array($verb, RouteInterface::VERBS, true)){ |
|
36 | 36 | throw new RouteException("Invalid HTTP verb `{$verb}`"); |
37 | 37 | } |
38 | 38 |
@@ -30,9 +30,11 @@ |
||
30 | 30 | */ |
31 | 31 | public function withVerbs(string ...$verbs): RouteInterface |
32 | 32 | { |
33 | - foreach ($verbs as &$verb) { |
|
33 | + foreach ($verbs as &$verb) |
|
34 | + { |
|
34 | 35 | $verb = strtoupper($verb); |
35 | - if (!in_array($verb, RouteInterface::VERBS, true)) { |
|
36 | + if (!in_array($verb, RouteInterface::VERBS, true)) |
|
37 | + { |
|
36 | 38 | throw new RouteException("Invalid HTTP verb `{$verb}`"); |
37 | 39 | } |
38 | 40 |
@@ -65,12 +65,12 @@ |
||
65 | 65 | */ |
66 | 66 | public function match(Request $request): ?RouteInterface |
67 | 67 | { |
68 | - if (!in_array(strtoupper($request->getMethod()), $this->getVerbs(), true)) { |
|
68 | + if (!in_array(strtoupper($request->getMethod()), $this->getVerbs(), true)){ |
|
69 | 69 | return null; |
70 | 70 | } |
71 | 71 | |
72 | 72 | $matches = $this->uriHandler->match($request->getUri(), $this->defaults); |
73 | - if ($matches === null) { |
|
73 | + if ($matches === null){ |
|
74 | 74 | return null; |
75 | 75 | } |
76 | 76 |
@@ -65,12 +65,14 @@ |
||
65 | 65 | */ |
66 | 66 | public function match(Request $request): ?RouteInterface |
67 | 67 | { |
68 | - if (!in_array(strtoupper($request->getMethod()), $this->getVerbs(), true)) { |
|
68 | + if (!in_array(strtoupper($request->getMethod()), $this->getVerbs(), true)) |
|
69 | + { |
|
69 | 70 | return null; |
70 | 71 | } |
71 | 72 | |
72 | 73 | $matches = $this->uriHandler->match($request->getUri(), $this->defaults); |
73 | - if ($matches === null) { |
|
74 | + if ($matches === null) |
|
75 | + { |
|
74 | 76 | return null; |
75 | 77 | } |
76 | 78 |
@@ -60,7 +60,7 @@ discard block |
||
60 | 60 | CoreInterface $core, |
61 | 61 | ScopeInterface $scope, |
62 | 62 | ResponseFactoryInterface $responseFactory |
63 | - ) { |
|
63 | + ){ |
|
64 | 64 | $this->core = $core; |
65 | 65 | $this->scope = $scope; |
66 | 66 | $this->responseFactory = $responseFactory; |
@@ -103,7 +103,7 @@ discard block |
||
103 | 103 | */ |
104 | 104 | public function handle(Request $request): Response |
105 | 105 | { |
106 | - if ($this->controller === null) { |
|
106 | + if ($this->controller === null){ |
|
107 | 107 | throw new HandlerException('Controller and action pair is not set'); |
108 | 108 | } |
109 | 109 | |
@@ -113,7 +113,7 @@ discard block |
||
113 | 113 | $output = $result = null; |
114 | 114 | |
115 | 115 | $response = $this->responseFactory->createResponse(200); |
116 | - try { |
|
116 | + try{ |
|
117 | 117 | // run the core withing PSR-7 Request/Response scope |
118 | 118 | $result = $this->scope->runScope( |
119 | 119 | [ |
@@ -128,22 +128,22 @@ discard block |
||
128 | 128 | ); |
129 | 129 | } |
130 | 130 | ); |
131 | - } catch (ControllerException $e) { |
|
131 | + }catch (ControllerException $e){ |
|
132 | 132 | ob_get_clean(); |
133 | 133 | throw $this->mapException($e); |
134 | - } catch (\Throwable $e) { |
|
134 | + }catch (\Throwable $e){ |
|
135 | 135 | ob_get_clean(); |
136 | 136 | throw $e; |
137 | - } finally { |
|
138 | - while (ob_get_level() > $outputLevel + 1) { |
|
139 | - $output = ob_get_clean() . $output; |
|
137 | + }finally{ |
|
138 | + while (ob_get_level() > $outputLevel + 1){ |
|
139 | + $output = ob_get_clean().$output; |
|
140 | 140 | } |
141 | 141 | } |
142 | 142 | |
143 | 143 | return $this->wrapResponse( |
144 | 144 | $response, |
145 | 145 | $result, |
146 | - ob_get_clean() . $output |
|
146 | + ob_get_clean().$output |
|
147 | 147 | ); |
148 | 148 | } |
149 | 149 | |
@@ -153,8 +153,8 @@ discard block |
||
153 | 153 | */ |
154 | 154 | private function getAction(Request $request): string |
155 | 155 | { |
156 | - if ($this->verbActions) { |
|
157 | - return strtolower($request->getMethod()) . ucfirst($this->action); |
|
156 | + if ($this->verbActions){ |
|
157 | + return strtolower($request->getMethod()).ucfirst($this->action); |
|
158 | 158 | } |
159 | 159 | |
160 | 160 | return $this->action; |
@@ -170,17 +170,17 @@ discard block |
||
170 | 170 | */ |
171 | 171 | private function wrapResponse(Response $response, $result = null, string $output = ''): Response |
172 | 172 | { |
173 | - if ($result instanceof Response) { |
|
174 | - if ($output !== '' && $result->getBody()->isWritable()) { |
|
173 | + if ($result instanceof Response){ |
|
174 | + if ($output !== '' && $result->getBody()->isWritable()){ |
|
175 | 175 | $result->getBody()->write($output); |
176 | 176 | } |
177 | 177 | |
178 | 178 | return $result; |
179 | 179 | } |
180 | 180 | |
181 | - if (is_array($result) || $result instanceof \JsonSerializable) { |
|
181 | + if (is_array($result) || $result instanceof \JsonSerializable){ |
|
182 | 182 | $response = $this->writeJson($response, $result); |
183 | - } else { |
|
183 | + }else{ |
|
184 | 184 | $response->getBody()->write((string)$result); |
185 | 185 | } |
186 | 186 | |
@@ -198,7 +198,7 @@ discard block |
||
198 | 198 | */ |
199 | 199 | private function mapException(ControllerException $exception): ClientException |
200 | 200 | { |
201 | - switch ($exception->getCode()) { |
|
201 | + switch ($exception->getCode()){ |
|
202 | 202 | case ControllerException::BAD_ACTION: |
203 | 203 | case ControllerException::NOT_FOUND: |
204 | 204 | return new NotFoundException($exception->getMessage()); |
@@ -103,7 +103,8 @@ discard block |
||
103 | 103 | */ |
104 | 104 | public function handle(Request $request): Response |
105 | 105 | { |
106 | - if ($this->controller === null) { |
|
106 | + if ($this->controller === null) |
|
107 | + { |
|
107 | 108 | throw new HandlerException('Controller and action pair is not set'); |
108 | 109 | } |
109 | 110 | |
@@ -113,14 +114,16 @@ discard block |
||
113 | 114 | $output = $result = null; |
114 | 115 | |
115 | 116 | $response = $this->responseFactory->createResponse(200); |
116 | - try { |
|
117 | + try |
|
118 | + { |
|
117 | 119 | // run the core withing PSR-7 Request/Response scope |
118 | 120 | $result = $this->scope->runScope( |
119 | 121 | [ |
120 | 122 | Request::class => $request, |
121 | 123 | Response::class => $response, |
122 | 124 | ], |
123 | - function () use ($request) { |
|
125 | + function () use ($request) |
|
126 | + { |
|
124 | 127 | return $this->core->callAction( |
125 | 128 | $this->controller, |
126 | 129 | $this->getAction($request), |
@@ -128,14 +131,21 @@ discard block |
||
128 | 131 | ); |
129 | 132 | } |
130 | 133 | ); |
131 | - } catch (ControllerException $e) { |
|
134 | + } |
|
135 | + catch (ControllerException $e) |
|
136 | + { |
|
132 | 137 | ob_get_clean(); |
133 | 138 | throw $this->mapException($e); |
134 | - } catch (\Throwable $e) { |
|
139 | + } |
|
140 | + catch (\Throwable $e) |
|
141 | + { |
|
135 | 142 | ob_get_clean(); |
136 | 143 | throw $e; |
137 | - } finally { |
|
138 | - while (ob_get_level() > $outputLevel + 1) { |
|
144 | + } |
|
145 | + finally |
|
146 | + { |
|
147 | + while (ob_get_level() > $outputLevel + 1) |
|
148 | + { |
|
139 | 149 | $output = ob_get_clean() . $output; |
140 | 150 | } |
141 | 151 | } |
@@ -153,7 +163,8 @@ discard block |
||
153 | 163 | */ |
154 | 164 | private function getAction(Request $request): string |
155 | 165 | { |
156 | - if ($this->verbActions) { |
|
166 | + if ($this->verbActions) |
|
167 | + { |
|
157 | 168 | return strtolower($request->getMethod()) . ucfirst($this->action); |
158 | 169 | } |
159 | 170 | |
@@ -170,17 +181,22 @@ discard block |
||
170 | 181 | */ |
171 | 182 | private function wrapResponse(Response $response, $result = null, string $output = ''): Response |
172 | 183 | { |
173 | - if ($result instanceof Response) { |
|
174 | - if ($output !== '' && $result->getBody()->isWritable()) { |
|
184 | + if ($result instanceof Response) |
|
185 | + { |
|
186 | + if ($output !== '' && $result->getBody()->isWritable()) |
|
187 | + { |
|
175 | 188 | $result->getBody()->write($output); |
176 | 189 | } |
177 | 190 | |
178 | 191 | return $result; |
179 | 192 | } |
180 | 193 | |
181 | - if (is_array($result) || $result instanceof \JsonSerializable) { |
|
194 | + if (is_array($result) || $result instanceof \JsonSerializable) |
|
195 | + { |
|
182 | 196 | $response = $this->writeJson($response, $result); |
183 | - } else { |
|
197 | + } |
|
198 | + else |
|
199 | + { |
|
184 | 200 | $response->getBody()->write((string)$result); |
185 | 201 | } |
186 | 202 | |
@@ -198,7 +214,8 @@ discard block |
||
198 | 214 | */ |
199 | 215 | private function mapException(ControllerException $exception): ClientException |
200 | 216 | { |
201 | - switch ($exception->getCode()) { |
|
217 | + switch ($exception->getCode()) |
|
218 | + { |
|
202 | 219 | case ControllerException::BAD_ACTION: |
203 | 220 | case ControllerException::NOT_FOUND: |
204 | 221 | return new NotFoundException($exception->getMessage()); |