JSONRPC
Наследует: Object
Помощник для работы со словарями, которые выглядят как документы JSONRPC.
Описание
JSON-RPC — это стандарт, который оборачивает вызов метода в объект JSON. Объект имеет определенную структуру и определяет, какой метод вызывается, параметры этой функции и несет идентификатор для отслеживания ответов. Этот класс реализует этот стандарт поверх Dictionary; вам придется преобразовывать между Dictionary и JSON с помощью других функций.
Методы
make_notification(method: String, params: Variant) |
|
make_request(method: String, params: Variant, id: Variant) |
|
make_response(result: Variant, id: Variant) |
|
make_response_error(code: int, message: String, id: Variant = null) const |
|
process_action(action: Variant, recurse: bool = false) |
|
process_string(action: String) |
|
void |
set_method(name: String, callback: Callable) |
Перечисления
enum ErrorCode: 🔗
ErrorCode PARSE_ERROR = -32700
Запрос не может быть проанализирован, так как он не соответствует стандарту JSON (JSON.parse() не выполнен).
ErrorCode INVALID_REQUEST = -32600
Был запрошен вызов метода, но формат запроса недопустим.
ErrorCode METHOD_NOT_FOUND = -32601
Был запрошен вызов метода, но в подклассе JSONRPC не существует функции с таким именем.
ErrorCode INVALID_PARAMS = -32602
Вызов метода был запрошен, но заданные параметры метода недействительны. Не используется встроенным JSONRPC.
ErrorCode INTERNAL_ERROR = -32603
Произошла внутренняя ошибка при обработке запроса. Не используется встроенным JSONRPC.
Описания метода
Dictionary make_notification(method: String, params: Variant) 🔗
Возвращает словарь в форме уведомления JSON-RPC. Уведомления — это одноразовые сообщения, не ожидающие ответа.
method: Имя вызываемого метода.params: Массив или словарь параметров, передаваемых методу.
Dictionary make_request(method: String, params: Variant, id: Variant) 🔗
Возвращает словарь в форме запроса JSON-RPC. Запросы отправляются на сервер с ожиданием ответа. Поле ID используется сервером для указания, на какой именно запрос он отвечает.
method: Имя вызываемого метода.params: Массив или словарь параметров, передаваемых методу.id: Уникально идентифицирует этот запрос. Ожидается, что сервер отправит ответ с тем же ID.
Dictionary make_response(result: Variant, id: Variant) 🔗
Когда сервер получил и обработал запрос, ожидается отправка ответа. Если вы не хотели ответа, то вместо этого вам нужно было отправить уведомление.
result: возвращаемое значение вызванной функции.id: идентификатор запроса, на который нацелен этот ответ.
Dictionary make_response_error(code: int, message: String, id: Variant = null) const 🔗
Создает ответ, который указывает, что предыдущий ответ по какой-то причине не удался.
code: Код ошибки, соответствующий типу ошибки. См. константы ErrorCode.message: Пользовательское сообщение об этой ошибке.id: Запрос, на который эта ошибка является ответом.
Variant process_action(action: Variant, recurse: bool = false) 🔗
Дан словарь, который принимает форму запроса JSON-RPC: распакуйте запрос и запустите его. Методы разрешаются путем просмотра поля с именем «method» и поиска эквивалентно названной функции в объекте JSONRPC. Если она найдена, этот метод вызывается.
Чтобы добавить новые поддерживаемые методы, расширьте класс JSONRPC и вызовите process_action() в вашем подклассе.
action: действие, которое должно быть запущено, как словарь в форме запроса или уведомления JSON-RPC.
String process_string(action: String) 🔗
There is currently no description for this method. Please help us by contributing one!
void set_method(name: String, callback: Callable) 🔗
Регистрирует функцию обратного вызова для указанного имени метода.
name: Имя, которое клиенты могут использовать для доступа к функции обратного вызова.callback: Функция обратного вызова, которая будет обрабатывать указанный метод.