Base de travail V7.8 reprise du répertoire de travail
Commit technique : reproduit à l'identique l'état non commité de la copie de travail (sécurisation V7.8, CSP à nonce, Session, migration des droits) afin que le travail d'ergonomie qui suit soit isolable. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -21,18 +21,14 @@ final class JsonResponse
|
||||
});
|
||||
|
||||
set_exception_handler(static function (\Throwable $exception): void {
|
||||
error_log(sprintf(
|
||||
'[PTA API] %s: %s in %s:%d',
|
||||
get_class($exception),
|
||||
$exception->getMessage(),
|
||||
$exception->getFile(),
|
||||
$exception->getLine()
|
||||
));
|
||||
|
||||
// Security::reportThrowable journalise systématiquement le détail
|
||||
// côté serveur et ne le renvoie au client que si PTA_DEBUG est
|
||||
// explicitement activé. Par défaut, rien ne fuit.
|
||||
$payload = ['error' => 'Une erreur serveur est survenue.'];
|
||||
if ((getenv('PTA_DEBUG') ?: '1') !== '0') {
|
||||
if (Security::debugEnabled()) {
|
||||
$payload['details'] = $exception->getMessage();
|
||||
}
|
||||
Security::reportThrowable($exception, 'Erreur API.');
|
||||
|
||||
self::send(500, $payload);
|
||||
});
|
||||
@@ -42,6 +38,8 @@ final class JsonResponse
|
||||
{
|
||||
if (!headers_sent()) {
|
||||
header('Content-Type: application/json; charset=utf-8');
|
||||
header('X-Content-Type-Options: nosniff');
|
||||
header('Cache-Control: no-store');
|
||||
}
|
||||
|
||||
http_response_code($status);
|
||||
|
||||
Reference in New Issue
Block a user