JSONRPC
继承: Object
用于处理看起来像 JSONRPC 文档的字典的辅助类。
描述
JSON-RPC 是一项标准,它将方法调用包装在一个 JSON 对象中。该对象有一个特定的结构,并标识出哪个方法被调用,该函数的参数,并携带一个 ID 来跟踪响应。这个类在 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 |
枚举
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) 🔗
该方法目前没有描述,请帮我们贡献一个吧!