JSONRPC

继承: Object

处理看起来像JSONRPC文档的字典的助手。

描述

JSON-RPC是一种标准,它将方法调用包装在JSON对象中。该对象具有特定的结构,并标识调用的方法、该函数的参数,并携带一个ID来跟踪响应。这个类在Dictionary之上实现了该标准;您必须在DictionaryJSON之间使用其他函数进行转换。

方法

Dictionary

make_notification(method: String, params: Variant)

Dictionary

make_request(method: String, params: Variant, id: Variant)

Dictionary

make_response(result: Variant, id: Variant)

Dictionary

make_response_error(code: int, message: String, id: Variant = null) const

Variant

process_action(action: Variant, recurse: bool = false)

String

process_string(action: String)

void

set_scope(scope: String, target: Object)


枚举

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:此响应所针对的请求的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) 🔗


void set_scope(scope: String, target: Object) 🔗