diff options
Diffstat (limited to 'infrastructure/Exceptions/Formatters/ExceptionFormatter.php')
-rw-r--r-- | infrastructure/Exceptions/Formatters/ExceptionFormatter.php | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/infrastructure/Exceptions/Formatters/ExceptionFormatter.php b/infrastructure/Exceptions/Formatters/ExceptionFormatter.php new file mode 100644 index 0000000..920ea69 --- /dev/null +++ b/infrastructure/Exceptions/Formatters/ExceptionFormatter.php @@ -0,0 +1,30 @@ +<?php + +namespace Infrastructure\Exceptions\Formatters; + +use Exception; +use Illuminate\Http\JsonResponse; +use Optimus\Heimdal\Formatters\BaseFormatter; + +class ExceptionFormatter extends BaseFormatter +{ + public function format(JsonResponse $response, Exception $e, array $reporterResponses) + { + $response->setStatusCode(500); + $data = $response->getData(true); + + if ($this->debug) { + $data = array_merge($data, [ + 'code' => $e->getCode(), + 'message' => $e->getMessage(), + 'exception' => (string)$e, + 'line' => $e->getLine(), + 'file' => $e->getFile() + ]); + } else { + $data['message'] = $e->getMessage(); + } + + $response->setData($data); + } +} |