-
Notifications
You must be signed in to change notification settings - Fork 56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Decision Proposal 121 - Application of existing HTTP Error Response Codes to Enhanced Error Handling #121
Comments
406 does not currently specify that a payload is required or even supported. Additionally version failure responses are marked as a should response code meaning that technically any http code is ok for an unsupported version. |
ANZ would like to highlight some important handling around the account end points that have variable behaviour depending on: For these scenarios, if the standards are to be enhanced to specify how they are handled, we view the below as being appropriate. All the below cases are in the context of a valid authorisation record being referenced.
|
Based on the latest revision to the standards (v1.3.1) the above scenarios we mentioned appear to have been clarified. There is now a statement against each of the multi-account-id end points that a HTTP 422 response is expected when: Could it please be clarified that 'invalid' refers to all these scenarios: Which would mean the expectation from the standards for the multi-account-id end points is:
|
The draft decision proposal for this issue has been posted in the issue description. A working group meeting series to cover this and the other aspects of Enhanced Error Handling will be set up to walk through the decision proposals. Details will be posted in this issue thread when they are available. |
As part of the Enhanced Error Handling consultation a Working Group workshop series has now been set up. To register for the second workshop covering #121 and #122, please register your interest here: |
Due to this decision proposal’s feedback period is coinciding with go-live activities, NAB requests that the decision proposal remain open for feedback until July 24th. |
Feedback from Origin Energy on DP-121We are very impressed by the quality and level of detail in this paper; it is educative and a great reference for future implementation phase. We have the following comments/queries:
|
AGL Energy Feedback We support the efforts to provide the above specifications with the following comments:
|
Commonwealth Bank recommends the following changes to the proposal:
|
Hi @anzbankau
This is correct. Where an ADR requests the data for an Account ID under those three scenarios it would result in an error. Noting that the currently recommendation in #122 is the application of 404 Not Found when the resource identifier is presented in the URL (path parameter). |
Consultation on this decision proposal will be extended until 10th July to elicit further feedback. Feedback received in this and the related enhanced error handling DPs will be reviewed and updated DPs provided for review accordingly. |
Hi @mannharleen that is correct. Get Products, Get Product Details, Get Outages and Get Status APIs are public, unauthenticated, endpoints. In effect any public API client can call these APIs.
The DSB would welcome feedback from ADRs and DHs in this regard. The assumption is that some situations will be handled under SHOULD or MAY guidance to give DHs flexibility where there is likely to be less ability to control/customise the error response. This would still set expectations because SHOULDs remain strong recommendations but do not make the standards too rigid in situations this is not necessary. The standards may also consider a SHOULD (e.g. should be a 406) for a specific error code and a MUST for the class of error codes (e.g. must be a 4xx). The standards may also consider where the HTTP status code can be a MUST however customising the error payload is a SHOULD. Some of the considerations when an error code should be a MUST:
You are correct. If the resource identifier is provided in the request body, a 422 Unprocessable Entity should be returned, not a 404 Not Found |
Hi @AElharouny DELETE request
A 204 No Content is accepted practice when a successful response will not return a response. Per RFC7231:
304 Not Modified
The DSB would welcome any feedback or a change request raised on Standards Maintenance. Noting statements
Thanks @AElharouny, this has been noted. |
Hi @commbankoss, thanks for the detailed feedback.
Can you elaborate why 406 would not be acceptable? The data standards currently expect 406 Not Acceptable. 406 Not Acceptable indicates that the client could not negotiate a valid representation of the requested resource and the server is unwilling to return a default representation. ADRs can negotiate the version of the resource representation using Per RFC7231:
This is different to the ADR requesting a malformed or invalid version (i.e. not a positive integer) which would return a 400 Bad Request. |
Hi @commbankoss,
Scenarios 13 and 14 For the ACDS,
Scenario 15 In effect, 406 Not Acceptable would be returned by the DH when the DH can't respond based on accepting the request headers (i.e. the ADR provide an Accept header which states they only want XML but the DH only supports the JSON representation). 415 Unsupported Media Type would be returned by the DH when the data sent in the request body (content in a POST or PUT) is an unsupported media type (i.e. the ADR sent XML but the DH can only accept JSON data). |
Hi @commbankoss
|
Hi @commbankoss
Noted and agreed. The purpose of the HTTP status code in these situations only differentiates the way the resource was requested not the status of the resource. |
Hi @commbankoss,
Can you please elaborate?
When a resource cannot be returned, the current expectation is the description only includes the resource identifier to allow ADRs to code against it.
The DSB would welcome any further options in this respect. |
Hi @perlboy thanks for noting these concerns. This will be considered in the final Decision Proposal.
We'd welcome input from the community regarding the treatment of must vs should in these situations. The expectation is that a SHOULD aligns to RFC2119 meaning it is a strong recommendation and a DH needs a valid, justifiable reason for not implementing it.
|
I don't really see any reason why these shouldn't (no pun intended) be MUST. Arguing with a DH over a "valid, justifiable reason" is like pulling teeth in my early experience of doing so (over |
Thanks @perlboy input like this will be useful in shaping guidance for which error codes are musts for all data holders. |
Please find below our feedback on the decision proposal:
|
Reviewing the proposal I wonder if it should incorporate RFC7807 - https://tools.ietf.org/html/rfc7807 - which:
...as a way for additional error information to be communicated in a standard way (where appropriate from a security and privacy perspective), beyond the HTTP response status code. |
After review of the proposal, have comments related to one item: Item 7 Page 20 (no business data)
|
This consultation is now being closed. Feedback received will be considered and an initial position will be drafted and published in due course. |
This issue pertains to the consultation on CDR Error Codes catalogue to cater for Enhanced Error Handling.
Specifically, this decision proposal is seeking to address the application of existing HTTP Error Response Codes to existing error scenarios and endpoints for clarification and uniformity in known use cases.
Note that this will only seek to address aspects of the standards where error handling is not already covered by normative references (such as OIDC).
The consultation draft Decision Proposal has been attached below:
Decision Proposal 121 - Enhanced Error Handling - Application of HTTP Response Codes.pdf
Feedback is now opened for this proposal. Feedback is planned to close on the 10th July 2020.
As part of the Enhanced Error Handling consultation a Working Group workshop series has now been set up. To register for the second workshop covering #121 and #122, please register your interest here: https://dsb_enhancederrors_workshop02.eventbrite.com.au
The text was updated successfully, but these errors were encountered: