The original story, REP-5116 Resolved , assumed this would be a simple update of the Jetty version. That turned out to not be the case. This will probably need to wait until after REP-5616 Resolved so the Jetty version is brought up to the latest minor version, currently v9.4.x.
As Bill discovered, the PowerFilter catches Exception, but not Throwable. Therefore, Errors bubble up to Jetty, but only after the PowerFilter commits the response. The result is Jetty returning a 200. Here is the relevant code:
The PowerFilter should catch a Throwable, to ensure that Repose responds with a 500 on Error as well. We should also ignore the Sonar warning about catching Throwable.
We should consider the implications of catching Throwable.
- Repose returns a BAD GATEWAY (502) when an Error is thrown.