|
wex v26.10.0
|
Handles JSON-RPC 2.0 protocol for LSP. More...
#include <wex/lsp/json-rpc.h>
Public Member Functions | |
| json_rpc (wxEvtHandler *eh=nullptr) | |
| Default constructor, provide event handler. | |
| json_rpc_message | decode (const std::string &data) const |
| Decodes a JSON-RPC message from string. | |
| std::string | encode_error (int id, int code, const std::string &message) const |
| Encodes a JSON-RPC error response to string. | |
| std::string | encode_notification (const std::string &method, const boost::json::object ¶ms=boost::json::object()) const |
| Encodes a JSON-RPC notification to string. | |
| std::string | encode_request (const std::string &method, const boost::json::object ¶ms=boost::json::object()) const |
| Encodes a JSON-RPC request to string. | |
| std::string | encode_response (int id, const boost::json::object &result) const |
| Encodes a JSON-RPC response to string. | |
| bool | handle_response (const json_rpc_message &msg) |
| Handles an incoming response. | |
| void | register_handler (response_handler &handler) |
| Registers a response handler for last request ID. | |
Static Public Member Functions | |
| static std::string | header_part_content_field () |
| Returns the JSON-RPC fixed content field header. | |
Handles JSON-RPC 2.0 protocol for LSP.
| json_rpc_message wex::lsp::json_rpc::decode | ( | const std::string & | data | ) | const |
Decodes a JSON-RPC message from string.
Returns parsed message, or empty if parsing failed.
| data | Raw message data |
| std::string wex::lsp::json_rpc::encode_error | ( | int | id, |
| int | code, | ||
| const std::string & | message ) const |
Encodes a JSON-RPC error response to string.
Return encoded message string.
| id | request ID |
| code | error code |
| message | error message |
| std::string wex::lsp::json_rpc::encode_notification | ( | const std::string & | method, |
| const boost::json::object & | params = boost::json::object() ) const |
Encodes a JSON-RPC notification to string.
Returns encoded message string.
| method | RPC method name |
| params | method parameters |
| std::string wex::lsp::json_rpc::encode_request | ( | const std::string & | method, |
| const boost::json::object & | params = boost::json::object() ) const |
Encodes a JSON-RPC request to string.
Returns encoded message string.
| method | RPC method name |
| params | method parameters |
| std::string wex::lsp::json_rpc::encode_response | ( | int | id, |
| const boost::json::object & | result ) const |
Encodes a JSON-RPC response to string.
Returns encoded message string.
| id | request ID |
| result | result |
| bool wex::lsp::json_rpc::handle_response | ( | const json_rpc_message & | msg | ) |
Handles an incoming response.
Returns false if msg is not handled.
| void wex::lsp::json_rpc::register_handler | ( | response_handler & | handler | ) |
Registers a response handler for last request ID.
| handler | callback to invoke when response arrives |