Let's avoid printing these ugly/misleading/redundant messages:
```
0 [dashboard DEBUG controllers.home] frontend language from headers: ['en-us']
0 [dashboard DEBUG controllers.home] found directory for language 'en-us'
0 [dashboard DEBUG controllers.home] serving static content: /home/jenkins-build/build/workspace/ceph-dashboard-pull-requests/build/src/pybind/mgr/dashboard/frontend/dist/en-US/styles.css
0 [dashboard ERROR exception] Internal Server Error
Traceback (most recent call last):
File "/home/jenkins-build/build/workspace/ceph-dashboard-pull-requests/src/pybind/mgr/dashboard/services/exception.py", line 47, in dashboard_exception_handler
return handler(*args, **kwargs)
File "/usr/lib/python3/dist-packages/cherrypy/_cpdispatch.py", line 60, in __call__
return self.callable(*self.args, **self.kwargs)
File "/home/jenkins-build/build/workspace/ceph-dashboard-pull-requests/src/pybind/mgr/dashboard/controllers/home.py", line 134, in __call__
return serve_file(full_path)
File "/usr/lib/python3/dist-packages/cherrypy/lib/static.py", line 70, in serve_file
cptools.validate_since()
File "/usr/lib/python3/dist-packages/cherrypy/lib/cptools.py", line 117, in validate_since
raise cherrypy.HTTPRedirect([], 304)
cherrypy._cperror.HTTPRedirect: ([], 304)
```
Fixes: https://tracker.ceph.com/issues/54991
Signed-off-by: Ernesto Puerta <epuertat@redhat.com>
cherrypy.response.headers['Content-Type'] = 'application/json'
cherrypy.response.status = getattr(error, 'status', 400)
return json.dumps(serialize_dashboard_exception(error)).encode('utf-8')
+ except cherrypy.HTTPRedirect:
+ # No internal errors
+ raise
except Exception as error:
logger.exception('Internal Server Error')
raise error