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: Унікально ідентифікує цей запит. Очікується, що сервер надішле відповідь з тим самим ідентифікатором.
Dictionary make_response(result: Variant, id: Variant) 🔗
Коли сервер отримав і обробляє запит, він очікується надсилати відповідь. Якщо ви не бажаєте відповіді, то вам потрібно надіслати повідомлення замість цього.
result: Повернення значення функції, яка була викликана.id: Ідентифікатор запиту на цю відповідь.
Dictionary make_response_error(code: int, message: String, id: Variant = null) const 🔗
Створює відповідь, яка вказує на попередню відповідь
code: Код помилки, що відповідає за те, що таке помилка. Побачитиповідомленняmessage: Користувальницьке повідомлення про цю помилку.id: Ця помилка є відповідь.
Variant process_action(action: Variant, recurse: bool = false) 🔗
З урахуванням словника, який приймає форму запиту JSON-RPC: розпакувати запит і запустити його. Методи вирішуються, дивлячись на поле, що називається "метод" і шукаючи еквівалентно названу функцію в об'єкті JSONRPC. Якщо один знайдений метод називається.
Щоб додати нові підтримані методи, подовжуйте клас JSONRPC і зателефонуйте _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Зворотний виклик, який оброблятиме певний метод.