| @@ 159-179 (lines=21) @@ | ||
| 156 | * @throws LogicException if invalid middleware type |
|
| 157 | * @access protected |
|
| 158 | */ |
|
| 159 | protected function runMiddleware( |
|
| 160 | $middleware, |
|
| 161 | RequestInterface $request, |
|
| 162 | ResponseInterface $response |
|
| 163 | )/*# : ResponseInterface */ { |
|
| 164 | // instance of MiddlewareInterface |
|
| 165 | if (is_object($middleware) && $middleware instanceof MiddlewareInterface) { |
|
| 166 | return $middleware->process($request, $response, $this); |
|
| 167 | ||
| 168 | // old style callable |
|
| 169 | } elseif (is_callable($middleware)) { |
|
| 170 | return $middleware($request, $response, $this); |
|
| 171 | ||
| 172 | // unknown middleware type |
|
| 173 | } else { |
|
| 174 | throw new LogicException( |
|
| 175 | Message::get(Message::MIDDLEWARE_INVALID, $middleware), |
|
| 176 | Message::MIDDLEWARE_INVALID |
|
| 177 | ); |
|
| 178 | } |
|
| 179 | } |
|
| 180 | ||
| 181 | /** |
|
| 182 | * Evaluate the condition |
|
| @@ 194-214 (lines=21) @@ | ||
| 191 | * @throws LogicException if condition is invalid |
|
| 192 | * @access protected |
|
| 193 | */ |
|
| 194 | protected function evalCondition( |
|
| 195 | $condition, |
|
| 196 | RequestInterface $request, |
|
| 197 | ResponseInterface $response |
|
| 198 | )/*# : bool */ { |
|
| 199 | // instanceof ConditionInterface |
|
| 200 | if (is_object($condition) && $condition instanceof ConditionInterface) { |
|
| 201 | return $condition->evaluate($request, $response); |
|
| 202 | ||
| 203 | // old style callable |
|
| 204 | } elseif (is_callable($condition)) { |
|
| 205 | return $condition($request, $response); |
|
| 206 | ||
| 207 | // unknown type |
|
| 208 | } else { |
|
| 209 | throw new LogicException( |
|
| 210 | Message::get(Message::CONDITION_INVALID, $condition), |
|
| 211 | Message::CONDITION_INVALID |
|
| 212 | ); |
|
| 213 | } |
|
| 214 | } |
|
| 215 | } |
|
| 216 | ||