cadmium-docs-legacy/protocol-spec/protocol-errors.md
2020-07-16 12:04:56 +04:00

1.1 KiB

Protocol Errors

Introduction

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

None.

Use cases

Request:

{
    "id": "abcd",
    "type": "incorrectMessageType",
    "from": "@juliet@cadmium.im",
    "to": "cadmium.im",
    "payload": {
        "test": "test"
    }
}

Response:

{
    "id": "abcd",
    "type": "incorrectMessageType",
    "from": "cadmium.im",
    "to": "@juliet@cadmium.im",
    "ok": false,
    "payload": {
        "errID": "unhandled",
        "errText": "Incorrect type of message (type isn't implemented in the server)",
        "errPayload": {}
    }
}

JSON Schema

Payload

interface ErrorPayload {
    /**
     * Error identifier (defined in extensions, maybe same per extensions)
     */
    errID: string,

    /**
     * Explanation of error in human-readable view
     */
    errText: string,

    /**
     * Advanced error information (fields defined in extensions)
     */
    errPayload: Map<K,V>
}