@@ -84,21 +84,13 @@ public function render(Request $request, Exception $e)
8484 * Render the given HttpException.
8585 *
8686 * @param \Symfony\Component\HttpKernel\Exception\HttpException $e
87+ * @param \Nova\Http\Request $request
8788 * @return \Symfony\Component\HttpFoundation\Response
8889 */
8990 protected function renderHttpException (HttpException $ e , Request $ request )
9091 {
91- $ status = $ e ->getStatusCode ();
92-
93- if ($ request ->ajax () || $ request ->wantsJson ()) {
94- $ e = FlattenException::create ($ e , $ status );
95-
96- return Response::json ($ e ->toArray (), $ status , $ e ->getHeaders ());
97- }
98-
99- // If exists a View for this HTTP error.
100- else if (View::exists ("Errors/ {$ status }" )) {
101- return $ this ->createErrorResponse ($ status , $ e );
92+ if (! is_null ($ response = $ this ->createResponse ($ e , $ request ))) {
93+ return $ response ;
10294 }
10395
10496 return parent ::renderHttpException ($ e , $ request );
@@ -108,18 +100,30 @@ protected function renderHttpException(HttpException $e, Request $request)
108100 * Convert the given exception into a Response instance which contains an error page.
109101 *
110102 * @param int $status
111- * @param \Exception $exception
103+ * @param \Symfony\Component\HttpKernel\Exception\HttpException $e
104+ * @param \Nova\Http\Request $request
112105 * @return \Symfony\Component\HttpFoundation\Response
113106 */
114- protected function createErrorResponse ($ status , Exception $ e )
107+ protected function createErrorResponse (HttpException $ e , Request $ request )
115108 {
116- $ exception = FlattenException::create ($ e , $ status );
109+ $ status = $ e ->getStatusCode ();
110+
111+ $ e = FlattenException::create ($ e , $ status );
112+
113+ if ($ request ->ajax () || $ request ->wantsJson ()) {
114+ return Response::json ($ e ->toArray (), $ status , $ e ->getHeaders ());
115+ }
116+
117+ //
118+ else if (! View::exists ("Errors/ {$ status }" )) {
119+ return ;
120+ }
117121
118122 $ view = View::make ('Layouts/Default ' )
119123 ->shares ('title ' , "Error {$ status }" )
120- ->nest ('content ' , "Errors/ {$ status }" , compact ('exception ' ));
124+ ->nest ('content ' , "Errors/ {$ status }" , array ('exception ' => $ e ));
121125
122- return Response::make ($ view ->render (), $ status , $ exception ->getHeaders ());
126+ return Response::make ($ view ->render (), $ status , $ e ->getHeaders ());
123127 }
124128
125129 /**
@@ -131,11 +135,9 @@ protected function createErrorResponse($status, Exception $e)
131135 protected function convertExceptionToResponse (Exception $ e , Request $ request )
132136 {
133137 if (! Config::get ('app.debug ' , false )) {
134- if ($ request ->ajax () || $ request ->wantsJson ()) {
135- return Response::json ('Internal Server Error ' , 500 );
136- }
138+ $ exception = new HttpException (500 , 'Internal Server Error ' );
137139
138- return $ this ->createErrorResponse (500 , new Exception ( ' Internal Server Error ' ) );
140+ return $ this ->createErrorResponse ($ exception , $ request );
139141 }
140142
141143 // We will instruct Whoops to not exit after it displays the exception as it
0 commit comments