27 $this->_handler = $handler;
38 $this->_handler->setSlimRequest($slimRequest);
39 $request = $this->_handler->getRequest();
40 $args = array($slimRequest);
41 if (!$slimRequest->getAttribute(
'route')) {
42 return $request->getRouter()->handleAuthorizationFailure($request,
'api.404.endpointNotFound');
43 } elseif ($this->_handler->authorize($request, $args, $this->_handler->getRoleAssignments())) {
44 $this->_handler->validate($request, $args);
45 $this->_handler->initialize($request, $args);
49 $authorizationMessage = $this->_handler->getLastAuthorizationMessage();
50 if ($authorizationMessage ==
'') $authorizationMessage =
'api.403.unauthorized';
51 $router = $request->getRouter();
52 $result = $router->handleAuthorizationFailure($request, $authorizationMessage);
54 case is_string($result): return $result;
55 case is_a($result,
'JSONMessage'): return $result->getString();
71 public function __invoke($request, $response, $next) {
73 if ($result !==
true) {
77 $response = $next($request, $response);