@@ 169-189 (lines=21) @@ | ||
166 | * @throws LogicException if invalid middleware type |
|
167 | * @access protected |
|
168 | */ |
|
169 | protected function runMiddleware( |
|
170 | $middleware, |
|
171 | RequestInterface $request, |
|
172 | ResponseInterface $response |
|
173 | )/*# : ResponseInterface */ { |
|
174 | // instance of MiddlewareInterface |
|
175 | if (is_object($middleware) && $middleware instanceof MiddlewareInterface) { |
|
176 | return $middleware->process($request, $response, $this); |
|
177 | ||
178 | // old style callable |
|
179 | } elseif (is_callable($middleware)) { |
|
180 | return $middleware($request, $response, $this); |
|
181 | ||
182 | // unknown middleware type |
|
183 | } else { |
|
184 | throw new LogicException( |
|
185 | Message::get(Message::MIDDLEWARE_INVALID, $middleware), |
|
186 | Message::MIDDLEWARE_INVALID |
|
187 | ); |
|
188 | } |
|
189 | } |
|
190 | ||
191 | /** |
|
192 | * Evaluate the condition |
|
@@ 204-224 (lines=21) @@ | ||
201 | * @throws LogicException if condition is invalid |
|
202 | * @access protected |
|
203 | */ |
|
204 | protected function evalCondition( |
|
205 | $condition, |
|
206 | RequestInterface $request, |
|
207 | ResponseInterface $response |
|
208 | )/*# : bool */ { |
|
209 | // instanceof ConditionInterface |
|
210 | if (is_object($condition) && $condition instanceof ConditionInterface) { |
|
211 | return $condition->evaluate($request, $response); |
|
212 | ||
213 | // old style callable |
|
214 | } elseif (is_callable($condition)) { |
|
215 | return $condition($request, $response); |
|
216 | ||
217 | // unknown type |
|
218 | } else { |
|
219 | throw new LogicException( |
|
220 | Message::get(Message::CONDITION_INVALID, $condition), |
|
221 | Message::CONDITION_INVALID |
|
222 | ); |
|
223 | } |
|
224 | } |
|
225 | } |
|
226 |