Clean up exception handling code, closes #81
Makes sure things get logged properly.
This commit is contained in:
parent
e0bff4db8e
commit
228d6b1b21
6 changed files with 96 additions and 136 deletions
|
@ -24,12 +24,11 @@
|
|||
namespace Pterodactyl\Http\Controllers\Server;
|
||||
|
||||
use Log;
|
||||
use Debugbar;
|
||||
use Pterodactyl\Models;
|
||||
use Pterodactyl\Models\Server;
|
||||
use Pterodactyl\Models\Node;
|
||||
|
||||
use Pterodactyl\Exceptions\DisplayException;
|
||||
use Pterodactyl\Exceptions\DisplayValidationException;
|
||||
|
||||
use Pterodactyl\Repositories;
|
||||
use Pterodactyl\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
|
@ -72,18 +71,17 @@ class AjaxController extends Controller
|
|||
*/
|
||||
public function getStatus(Request $request, $uuid)
|
||||
{
|
||||
|
||||
$server = Server::getByUUID($uuid);
|
||||
$server = Models\Server::getByUUID($uuid);
|
||||
|
||||
if (!$server) {
|
||||
return response()->json([], 404);
|
||||
}
|
||||
|
||||
$client = Node::guzzleRequest($server->node);
|
||||
$client = Models\Node::guzzleRequest($server->node);
|
||||
|
||||
try {
|
||||
$res = $client->request('GET', '/server', [
|
||||
'headers' => Server::getGuzzleHeaders($uuid)
|
||||
'headers' => Models\Server::getGuzzleHeaders($uuid)
|
||||
]);
|
||||
if($res->getStatusCode() === 200) {
|
||||
return response()->json(json_decode($res->getBody()));
|
||||
|
@ -104,7 +102,7 @@ class AjaxController extends Controller
|
|||
public function postDirectoryList(Request $request, $uuid)
|
||||
{
|
||||
|
||||
$server = Server::getByUUID($uuid);
|
||||
$server = Models\Server::getByUUID($uuid);
|
||||
$this->directory = '/' . trim(urldecode($request->input('directory', '/')), '/');
|
||||
$this->authorize('list-files', $server);
|
||||
|
||||
|
@ -128,17 +126,11 @@ class AjaxController extends Controller
|
|||
|
||||
try {
|
||||
$directoryContents = $controller->returnDirectoryListing($this->directory);
|
||||
} catch (\Exception $e) {
|
||||
|
||||
Debugbar::addException($e);
|
||||
$exception = 'An error occured while attempting to load the requested directory, please try again.';
|
||||
|
||||
if ($e instanceof DisplayException) {
|
||||
$exception = $e->getMessage();
|
||||
}
|
||||
|
||||
return response($exception, 500);
|
||||
|
||||
} catch (DisplayException $ex) {
|
||||
return response($ex->getMessage(), 500);
|
||||
} catch (\Exception $ex) {
|
||||
Log::error($ex);
|
||||
return response('An error occured while attempting to load the requested directory, please try again.', 500);
|
||||
}
|
||||
|
||||
return view('server.files.list', [
|
||||
|
@ -161,7 +153,7 @@ class AjaxController extends Controller
|
|||
public function postSaveFile(Request $request, $uuid)
|
||||
{
|
||||
|
||||
$server = Server::getByUUID($uuid);
|
||||
$server = Models\Server::getByUUID($uuid);
|
||||
$this->authorize('save-files', $server);
|
||||
|
||||
$controller = new Repositories\Daemon\FileRepository($uuid);
|
||||
|
@ -169,17 +161,11 @@ class AjaxController extends Controller
|
|||
try {
|
||||
$controller->saveFileContents($request->input('file'), $request->input('contents'));
|
||||
return response(null, 204);
|
||||
} catch (\Exception $e) {
|
||||
|
||||
Debugbar::addException($e);
|
||||
$exception = 'An error occured while attempting to save that file, please try again.';
|
||||
|
||||
if ($e instanceof DisplayException) {
|
||||
$exception = $e->getMessage();
|
||||
}
|
||||
|
||||
return response($exception, 500);
|
||||
|
||||
} catch (DisplayException $ex) {
|
||||
return response($ex->getMessage(), 500);
|
||||
} catch (\Exception $ex) {
|
||||
Log::error($ex);
|
||||
return response('An error occured while attempting to save this file, please try again.', 500);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -193,7 +179,7 @@ class AjaxController extends Controller
|
|||
public function postSetConnection(Request $request, $uuid)
|
||||
{
|
||||
|
||||
$server = Server::getByUUID($uuid);
|
||||
$server = Models\Server::getByUUID($uuid);
|
||||
$allocation = Models\Allocation::findOrFail($server->allocation);
|
||||
|
||||
$this->authorize('set-connection', $server);
|
||||
|
@ -210,11 +196,11 @@ class AjaxController extends Controller
|
|||
'default' => $request->input('connection'),
|
||||
]);
|
||||
return response('The default connection for this server has been updated. Please be aware that you will need to restart your server for this change to go into effect.');
|
||||
} catch (\Pterodactyl\Exceptions\DisplayValidationException $ex) {
|
||||
} catch (DisplayValidationException $ex) {
|
||||
return response()->json([
|
||||
'error' => json_decode($ex->getMessage(), true),
|
||||
], 503);
|
||||
} catch (\Pterodactyl\Exceptions\DisplayException $ex) {
|
||||
} catch (DisplayException $ex) {
|
||||
return response()->json([
|
||||
'error' => $ex->getMessage(),
|
||||
], 503);
|
||||
|
|
|
@ -25,7 +25,6 @@ namespace Pterodactyl\Http\Controllers\Server;
|
|||
|
||||
use Auth;
|
||||
use DB;
|
||||
use Debugbar;
|
||||
use Uuid;
|
||||
use Alert;
|
||||
use Log;
|
||||
|
@ -133,18 +132,13 @@ class ServerController extends Controller
|
|||
|
||||
try {
|
||||
$fileContent = $controller->returnFileContents($file);
|
||||
} catch (\Exception $e) {
|
||||
|
||||
Debugbar::addException($e);
|
||||
$exception = 'An error occured while attempting to load the requested file for editing, please try again.';
|
||||
|
||||
if ($e instanceof DisplayException) {
|
||||
$exception = $e->getMessage();
|
||||
}
|
||||
|
||||
Alert::danger($exception)->flash();
|
||||
} catch (DisplayException $ex) {
|
||||
Alert::danger($ex->getMessage())->flash();
|
||||
return redirect()->route('server.files.index', $uuid);
|
||||
} catch (\Exception $ex) {
|
||||
Log::error($ex);
|
||||
Alert::danger('An error occured while attempting to load the requested file for editing, please try again.')->flash();
|
||||
return redirect()->route('server.files.index', $uuid);
|
||||
|
||||
}
|
||||
|
||||
return view('server.files.edit', [
|
||||
|
|
|
@ -121,6 +121,7 @@ class TaskController extends Controller
|
|||
$repo->delete($id);
|
||||
return response()->json([], 204);
|
||||
} catch (\Exception $ex) {
|
||||
Log::error($ex);
|
||||
return response()->json([
|
||||
'error' => 'A server error occured while attempting to delete this task.'
|
||||
], 503);
|
||||
|
@ -147,6 +148,7 @@ class TaskController extends Controller
|
|||
'status' => $resp
|
||||
]);
|
||||
} catch (\Exception $ex) {
|
||||
Log::error($ex);
|
||||
return response()->json([
|
||||
'error' => 'A server error occured while attempting to toggle this task.'
|
||||
], 503);
|
||||
|
|
Reference in a new issue