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
Eredita: Object
Ereditato da: GDScriptLanguageProtocol
Una classe di supporto per gestire dizionari che hanno l'aspetto di documenti JSONRPC.
Descrizione
JSON-RPC è uno standard che racchiude una chiamata di metodo in un oggetto JSON. L'oggetto ha una struttura particolare e identifica quale metodo viene chiamato e con quali parametri, e contiene un ID per tenere traccia delle risposte. Questa classe implementa quello standard su Dictionary; sarà necessario convertire tra un Dictionary e JSON con altre funzioni.
Metodi
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) |
Enumerazioni
enum ErrorCode: 🔗
ErrorCode PARSE_ERROR = -32700
La richiesta non può essere elaborata perché non è valida secondo lo standard JSON (JSON.parse() non riuscito).
ErrorCode INVALID_REQUEST = -32600
È stata richiesta una chiamata a un metodo, ma il formato della richiesta non è valido.
ErrorCode METHOD_NOT_FOUND = -32601
È stata richiesta una chiamata a un metodo, ma non esisteva alcuna funzione con quel nome nella sottoclasse JSONRPC.
ErrorCode INVALID_PARAMS = -32602
È stata richiesta una chiamata a un metodo, ma i parametri specificati del metodo non sono validi. Non utilizzato dal JSONRPC integrato.
ErrorCode INTERNAL_ERROR = -32603
Si è verificato un errore interno durante l'elaborazione della richiesta. Non utilizzato dal JSONRPC integrato.
Descrizioni dei metodi
Dictionary make_notification(method: String, params: Variant) 🔗
Restituisce un dizionario sotto forma di notifica JSON-RPC. Le notifiche sono messaggi a colpo singolo che non prevedono una risposta.
method: Nome del metodo richiamato.params: Array o dizionario di parametri passati al metodo.
Dictionary make_request(method: String, params: Variant, id: Variant) 🔗
Restituisce un dizionario sotto forma di richiesta JSON-RPC. Le richieste vengono inviate a un server con l'aspettativa di una risposta. Il campo ID è utilizzato dal server per specificare a quale richiesta esatta sta rispondendo.
method: Nome del metodo chiamato.params: Un array o dizionario di parametri passati al metodo.id: Identifica questa richiesta in modo univoco. Il server deve inviare una risposta con lo stesso ID.
Dictionary make_response(result: Variant, id: Variant) 🔗
Quando un server ha ricevuto ed elaborato una richiesta, ci si aspetta che invii una risposta. Se non si desiderava una risposta, è necessario inviare una notifica.
result: il valore restituito dalla funzione che è stata chiamata.id: l'ID della richiesta a cui è indirizzata questa risposta.
Dictionary make_response_error(code: int, message: String, id: Variant = null) const 🔗
Crea una risposta che indica che una risposta precedente non è riuscita in qualche modo.
code: Il codice di errore che corrisponde al tipo di errore. Vedi le costanti di ErrorCode.message: Un messaggio personalizzato su questo errore.id: La richiesta a cui questo errore è una risposta.
Variant process_action(action: Variant, recurse: bool = false) 🔗
Fornito un dizionario che assume la forma di una richiesta JSON-RPC: decomprime la richiesta e la esegue. I metodi vengono risolti esaminando il campo denominato "method" e cercando una funzione con un nome equivalente nell'oggetto JSONRPC. Se ne viene trovata una, tale metodo viene chiamato.
Per aggiungere nuovi metodi supportati, estendi la classe JSONRPC e chiama process_action() sulla sottoclasse.
action: L'azione da eseguire, come un dizionario sotto forma di richiesta o notifica 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) 🔗
Registers a callback for the given method name.
name: The name that clients can use to access the callback.callback: The callback which will handle the specified method.