/** * Constructor. * * {@inheritdoc} * * @param Authorizable $record * @param Policy $policy * @param string $action * @param string $reason [optional] */ public function __construct(Authorizable $record, Policy $policy, $action, $reason = '') { $this->record = $record; $this->policy = $policy; $this->action = $action; $this->reason = $reason; parent::__construct($this->message()); }
/** * Render an exception into an HTTP response. * * @param \Illuminate\Http\Request $request * @param \Exception $e * @return \Illuminate\Http\Response */ public function render($request, Exception $e) { $packageResponse = []; $statusCode = 500; if ($message = $e->getMessage()) { $packageResponse['title'] = $message; } if ($e instanceof OAuthException) { $e = new AccessDeniedHttpException($e->getMessage()); } if ($e instanceof HttpException) { $statusCode = $e->getStatusCode(); } if ($e instanceof ErrorMessageBagException && $e->hasErrors()) { $packageResponse['errors'] = $e->getErrors(); } return response()->json($packageResponse, $statusCode); }
public function __construct($message = null, \Exception $previous = null, $code = 0) { $message = is_null($message) ? trans('Access Denied') : $message; parent::__construct($message, $previous, $code); }