<?php namespace App\Exceptions; use Exception; use Illuminate\Auth\Access\AuthorizationException; use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler; use Illuminate\Http\Request; use Illuminate\Http\Response; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Log; class Handler extends ExceptionHandler { /** * A list of the exception types that are not reported. * * @var array */ protected $dontReport = [ // ]; /** * A list of the inputs that are never flashed for validation exceptions. * * @var array */ protected $dontFlash = [ 'password', 'password_confirmation', ]; /** * Report or log an exception. * * @param Exception $exception * @return void * @throws Exception */ public function report(Exception $exception) { parent::report($exception); } /** * Render an exception into an HTTP response. * * @param Request $request * @param Exception $exception * @return Response * @throws Exception */ public function render($request, Exception $exception) { // We'll render a 404 for any authorisation exceptions to hide the fact that the resource exists if ($exception instanceof AuthorizationException) { Log::error('Request not authorised',['user'=>Auth::user()->id,'request'=>$request->path()]); if ($request->ajax()) return response()->json(['data'=>[]],200); else abort(404,'Not here...'); } return parent::render($request, $exception); } }