Async Error Codes
Assumptions
Assumption | Notes | |
---|---|---|
1 | One message can only have one status code | |
2 | Status code is in the data schema of the event (not header) | |
3 | 3 digits http inspired |
Issues & Decisions
Issue | Notes | Decision | |
---|---|---|---|
1 | What are we doing with legacy events Asynchronous data requests | Check that error codes are not used previously | |
2 | Proposing code to all of ONAP will be complicated with conflicts + we take on maintainability |
Proposal
First proposal is to use the closest HTTP status code for the scenario. (Column 2 only)
Second proposal is to use above but then also provide a proprietary code which we define for that scenario. (Column 2 & 3)
Scenario | status code (Using HTTP) | proprietary code (Outside range of HTTP code to avoid confusion) |
---|---|---|
Subscription created for all CMHandle targets without issue (all accepted) | 201 CREATED | 600 SUCCESS |
Subscription partially created and rejected and/or pending | 207 MULTI-STATUS | 601 PARTIAL SUCCESS |
CMHandle targets not found for all CMHandles | 404 NOT FOUND | 603 TARGETS NOT FOUND |
Subscription cannot be applied to any CMHandles | 406 NOT ACCEPTABLE | 604 SUBSCRIPTION NOT APPLICABLE |
Subscription Pending for all CMHandles | 202 ACCEPTED | 602 PENDING |
Data Example
{
"data": {
"statusCode" : 202, #HTTP ACCEPTED
"propCode" : 602, #PENDING, name TBD, Only in proposal 2
…
}
}