| @@ 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 | ||