View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005960 | libeufin | libeufin-sandbox | public | 2019-11-06 11:12 | 2023-01-08 10:33 |
Reporter | Marcello Stanisci | Assigned To | Florian Dold | ||
Priority | normal | Severity | minor | Reproducibility | have not tried |
Status | closed | Resolution | fixed | ||
Target Version | 0.9.0 | Fixed in Version | 0.9.0 | ||
Summary | 0005960: All exceptions lead to "500 Internal server error" | ||||
Description | Even if the client POSTs invalid data, they get a "500 Internal server error" response. This happens since now there is only one default exceptions handler that catches *all* exceptions and respond with 500. Eventually, any exception should be managed according to the context it originates from. | ||||
Tags | No tags attached. | ||||
|
Exceptions are now organized into three sections: NexusError, SandboxError, and UtilError. Each type accepts a HTTP status code and a hint message to show to the user. Therefore this bug doesn't really apply anymore. BUT: because Gson doesn't throw any exception when a non-nullable field was missing in the uploaded JSON and such field *are* tried to be accessed along the code, then an invalid JSON POSTed can *still* lead the Sandbox (and the Nexus) to respond with 500 (due to the NPEs that inevitably result by accessing those problematic null-fields.) |
|
Must correct the previous comment: although the SandboxError type was created, the Sandbox never picks the details from it and rather respond with "500 Internal Server Error". |
|
Such commit aee99f3e1a4fd38dbf2fa352b112ce9d08c0566c defines responses with a error description, and a HTTP status code (other than the default 500). *if* 500 is returned, then either the server reached a fatal state or one less severe error wasn't properly caught and managed. |
Date Modified | Username | Field | Change |
---|---|---|---|
2019-11-06 11:12 | Marcello Stanisci | New Issue | |
2019-11-06 11:12 | Marcello Stanisci | Assigned To | => Florian Dold |
2019-11-06 11:12 | Marcello Stanisci | Status | new => assigned |
2020-05-15 19:28 | Marcello Stanisci | Note Added: 0015919 | |
2020-05-15 19:30 | Marcello Stanisci | Status | assigned => acknowledged |
2020-05-15 19:30 | Marcello Stanisci | Relationship added | related to 0006004 |
2020-05-15 19:30 | Marcello Stanisci | Relationship deleted | related to 0006004 |
2020-05-15 19:30 | Marcello Stanisci | Relationship added | child of 0006064 |
2020-05-15 19:35 | Marcello Stanisci | Note Added: 0015921 | |
2020-06-18 22:06 | Florian Dold | Relationship deleted | child of 0006064 |
2020-07-09 19:31 | MS | Note Edited: 0015919 | |
2020-07-09 19:38 | MS | Status | acknowledged => resolved |
2020-07-09 19:38 | MS | Resolution | open => fixed |
2020-07-09 19:38 | MS | Note Added: 0016438 | |
2023-01-08 10:32 | Christian Grothoff | Fixed in Version | => 0.9.0 |
2023-01-08 10:32 | Christian Grothoff | Target Version | => 0.9.0 |
2023-01-08 10:33 | Christian Grothoff | Status | resolved => closed |
2023-04-13 20:26 | Florian Dold | Category | sandbox => libeufin sandbox |
2023-04-13 20:38 | Florian Dold | Category | libeufin sandbox => libeufin-sandbox |