feature/cierres #25

Open
aldarien wants to merge 446 commits from feature/cierres into develop
460 changed files with 1262 additions and 20336 deletions
Showing only changes of commit f17b7a758a - Show all commits

View File

@ -1,6 +1,7 @@
<?php
namespace Incoviba\Controller\API;
use Throwable;
use Psr\Http\Message\ResponseInterface;
trait withJson
@ -10,4 +11,30 @@ trait withJson
$response->getBody()->write(json_encode($data));
return $response->withStatus($statusCode)->withHeader('Content-Type', 'application/json');
}
public function parseError(Throwable $exception): array
{
return [
'code' => $exception->getCode(),
'message' => $exception->getMessage(),
'file' => $exception->getFile(),
'line' => $exception->getLine(),
'trace' => $exception->getTraceAsString()
];
}
public function withError(ResponseInterface $response, Throwable $exception): ResponseInterface
{
$output = $this->parseError($exception);
$response->getBody()->write(json_encode(['error' => $output]));
return $response->withHeader('Content-Type', 'application/json');
}
public function withErrors(ResponseInterface $response, array $errors): ResponseInterface
{
foreach ($errors as $error) {
$response = $this->withError($response, $error);
}
return $response;
}
}