JSONRPC
Hereda: Object
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 🔗
Creates a response which indicates a previous reply has failed in some way.
code: The error code corresponding to what kind of error this is. See the ErrorCode constants.message: A custom message about this error.id: The request this error is a response to.
Variant process_action(action: Variant, recurse: bool = false) 🔗
Given a Dictionary which takes the form of a JSON-RPC request: unpack the request and run it. Methods are resolved by looking at the field called "method" and looking for an equivalently named function in the JSONRPC object. If one is found that method is called.
To add new supported methods extend the JSONRPC class and call process_action() on your subclass.
action: The action to be run, as a Dictionary in the form of a JSON-RPC request or notification.
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 función de retorno para el nombre de método dado.
nameEl nombre que los clientes pueden usar para acceder a la función de retorno.callbackLa función de retorno que manejará el método específico.