X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/a6633642232efd164d4708967ab59e498fbff896..refs/pull/4191/head:/app/Exceptions/NotifyException.php diff --git a/app/Exceptions/NotifyException.php b/app/Exceptions/NotifyException.php index 4f8105960..307916db7 100644 --- a/app/Exceptions/NotifyException.php +++ b/app/Exceptions/NotifyException.php @@ -1,18 +1,50 @@ -message = $message; $this->redirectLocation = $redirectLocation; + $this->status = $status; parent::__construct(); } + + /** + * Get the desired status code for this exception. + */ + public function getStatus(): int + { + return $this->status; + } + + /** + * Send the response for this type of exception. + * + * {@inheritdoc} + */ + public function toResponse($request) + { + $message = $this->getMessage(); + + // Front-end JSON handling. API-side handling managed via handler. + if ($request->wantsJson()) { + return response()->json(['error' => $message], 403); + } + + if (!empty($message)) { + session()->flash('error', $message); + } + + return redirect($this->redirectLocation); + } }