FriendsOfSymfony / FOSRestBundle

This Bundle provides various tools to rapidly develop RESTful API's with Symfony
http://symfony.com/doc/master/bundles/FOSRestBundle/index.html
MIT License
2.79k stars 702 forks source link

Disable exception stack trace #2390

Open dcr31000 opened 1 year ago

dcr31000 commented 1 year ago

I have a Symfony v6 application with FosRestBundle.

When I go to an endpoint which throw an exception, I got a page with the full error and the stack trace. Also in production mode.

Capture d’écran 2023-06-21 à 10 18 57

The kernel is configured like this:

$kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']);

And this is the configuration of fos_rest I use:

fos_rest:
  body_listener: true
  body_converter:
    enabled: true
    validate: true
    validation_errors_argument: violations
  view:
    formats: { json: true, xml: false, rss: false }
    view_response_listener: true
  serializer:
    serialize_null: true
  format_listener:
    rules:
      - { path: '^/api', priorities: ['json'], fallback_format: 'json', prefer_extension: true }
      - { path: '^/publicapi', priorities: ['json'], fallback_format: 'json', prefer_extension: true }
      - { path: '^/', priorities: ['html'], fallback_format: 'html' }
  param_fetcher_listener: force
  exception:
    enabled: true
    codes:
      'Symfony\Component\Security\Core\Exception\BadCredentialsException': 401
      'Symfony\Component\Security\Core\Exception\InvalidArgumentException': 400

I do not found how to disable the stack trace in production environment.

Thanks for your help

shakaran commented 1 year ago

@dcr31000 Maybe do you need to add under exception.codes:

'Symfony\Component\Routing\Exception\ResourceNotFoundException': 404

Useful doc: https://github.com/FriendsOfSymfony/FOSRestBundle/blob/3.x/Resources/doc/4-exception-controller-support.rst