Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
JSONRPC
Hereda: Object
Heredado por: GDScriptLanguageProtocol
Un asistente para manejar diccionarios que parecen documentos JSONRPC.
Descripción
JSON-RPC es un estándar que envuelve una llamada a un método en un objeto JSON. El objeto tiene una estructura particular e identifica qué método se llama, los parámetros de esa función, y lleva un ID para realizar un seguimiento de las respuestas. Esta clase implementa ese estándar sobre Dictionary; tendrás que convertir entre un Dictionary y JSON con otras funciones.
Métodos
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) |
Enumeraciones
enum ErrorCode: 🔗
ErrorCode PARSE_ERROR = -32700
La solicitud no pudo ser analizada ya que no era válida según el estándar JSON (falló JSON.parse()).
ErrorCode INVALID_REQUEST = -32600
Se solicitó una llamada a un método, pero el formato de la solicitud no es válido.
ErrorCode METHOD_NOT_FOUND = -32601
Se solicitó una llamada a un método, pero no existía ninguna función con ese nombre en la subclase JSONRPC.
ErrorCode INVALID_PARAMS = -32602
Se solicitó una llamada a un método, pero los parámetros del método dado no son válidos. No utilizado por el JSONRPC incorporado.
ErrorCode INTERNAL_ERROR = -32603
Ocurrió un error interno al procesar la solicitud. No utilizado por el JSONRPC incorporado.
Descripciones de Métodos
Dictionary make_notification(method: String, params: Variant) 🔗
Devuelve un diccionario en forma de notificación JSON-RPC. Las notificaciones son mensajes de una sola vez que no esperan una respuesta.
method: Nombre del método que se está llamando.params: Un array o diccionario de parámetros que se pasan al método.
Dictionary make_request(method: String, params: Variant, id: Variant) 🔗
Devuelve un diccionario en forma de solicitud JSON-RPC. Las solicitudes se envían a un servidor con la expectativa de una respuesta. El campo ID se utiliza para que el servidor especifique a qué solicitud exacta está respondiendo.
method: Nombre del método que se está llamando.params: Un array o diccionario de parámetros que se pasan al método.id: Identifica de forma única esta solicitud. Se espera que el servidor envíe una respuesta con el mismo ID.
Dictionary make_response(result: Variant, id: Variant) 🔗
Cuando un servidor ha recibido y procesado una solicitud, se espera que envíe una respuesta. Si no querías una respuesta, entonces necesitas haber enviado una Notificación en su lugar.
result: El valor de retorno de la función que fue llamada.id: El ID de la solicitud a la que se dirige esta respuesta.
Dictionary make_response_error(code: int, message: String, id: Variant = null) const 🔗
Crea una respuesta que indica que una respuesta anterior ha fallado de alguna manera.
code: El código de error que corresponde al tipo de error. Véanse las constantes ErrorCode.message: Un mensaje personalizado sobre este error.id: La solicitud a la que este error es una respuesta.
Variant process_action(action: Variant, recurse: bool = false) 🔗
Dado un Dictionary con formato de solicitud JSON-RPC: desempaca la solicitud y ejecútala. Los métodos se resuelven buscando el campo llamado "method" y buscando una función con un nombre equivalente en el objeto JSONRPC. Si se encuentra una, se llama a ese método.
Para añadir nuevos métodos compatibles, extiende la clase JSONRPC y llama a process_action() en tu subclase.
action: La acción a ejecutar, como un Dictionary con formato de solicitud o notificación 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) 🔗
Registra una callback para el nombre de método dado.
name: El nombre que los clientes pueden usar para acceder al callback.callback: El callback que manejará el método específico.