cadmium-docs-legacy/protocol-spec/protocol-errors.md

67 lines
1.1 KiB
Markdown
Raw Normal View History

# Protocol Errors
2019-12-22 14:39:30 +00:00
## Introduction
2019-12-22 14:39:30 +00:00
Mechanism of error processing included into protocol.
Adds into any response message `ok` variable. If `ok` is true - we have no errors, if `ok` is false - we have an error.
## Message type identifiers
2019-12-22 14:39:30 +00:00
None.
## Use cases
2019-12-22 14:39:30 +00:00
*Request*:
2019-12-22 14:39:30 +00:00
```json
{
"id": "abcd",
"type": "incorrectMessageType",
"from": "@juliet@cadmium.im",
"to": "cadmium.im",
"payload": {
"test": "test"
}
}
```
*Response*:
2019-12-22 14:39:30 +00:00
```json
{
"id": "abcd",
"type": "incorrectMessageType",
"from": "cadmium.im",
"to": "@juliet@cadmium.im",
"ok": false,
"payload": {
2020-07-16 08:04:56 +00:00
"errID": "unhandled",
"errText": "Incorrect type of message (type isn't implemented in the server)",
"errPayload": {}
}
}
```
## JSON Schema
2019-12-22 14:39:30 +00:00
### Payload
```typescript
interface ErrorPayload {
/**
* Error identifier (defined in extensions, maybe same per extensions)
*/
2020-07-16 08:04:56 +00:00
errID: string,
/**
* Explanation of error in human-readable view
*/
errText: string,
/**
* Advanced error information (fields defined in extensions)
*/
errPayload: Map<K,V>
}
2019-12-22 14:39:30 +00:00
```