1#ifndef SOURCEMETA_CORE_JSONRPC_H_
2#define SOURCEMETA_CORE_JSONRPC_H_
4#ifndef SOURCEMETA_CORE_JSONRPC_EXPORT
5#include <sourcemeta/core/jsonrpc_export.h>
8#include <sourcemeta/core/json.h>
22namespace sourcemeta::core {
66SOURCEMETA_CORE_JSONRPC_EXPORT
83SOURCEMETA_CORE_JSONRPC_EXPORT
99SOURCEMETA_CORE_JSONRPC_EXPORT
119SOURCEMETA_CORE_JSONRPC_EXPORT
136SOURCEMETA_CORE_JSONRPC_EXPORT
152SOURCEMETA_CORE_JSONRPC_EXPORT
174SOURCEMETA_CORE_JSONRPC_EXPORT
191SOURCEMETA_CORE_JSONRPC_EXPORT
211SOURCEMETA_CORE_JSONRPC_EXPORT
231SOURCEMETA_CORE_JSONRPC_EXPORT
251SOURCEMETA_CORE_JSONRPC_EXPORT
254 std::optional<sourcemeta::core::JSON> data =
269SOURCEMETA_CORE_JSONRPC_EXPORT
283SOURCEMETA_CORE_JSONRPC_EXPORT
302SOURCEMETA_CORE_JSONRPC_EXPORT
321SOURCEMETA_CORE_JSONRPC_EXPORT
324 std::optional<sourcemeta::core::JSON> data = std::nullopt)
338SOURCEMETA_CORE_JSONRPC_EXPORT
std::basic_string_view< Char, CharTraits > StringView
The string view type used by the JSON document.
Definition json_value.h:54
constexpr std::int64_t JSONRPC_CODE_INVALID_PARAMS
Definition jsonrpc.h:39
SOURCEMETA_CORE_JSONRPC_EXPORT auto jsonrpc_is_request(const sourcemeta::core::JSON &request) -> bool
constexpr std::int64_t JSONRPC_CODE_SERVER_ERROR_MAX
Definition jsonrpc.h:53
SOURCEMETA_CORE_JSONRPC_EXPORT auto jsonrpc_make_error_invalid_request(const sourcemeta::core::JSON *identifier=nullptr) -> sourcemeta::core::JSON
SOURCEMETA_CORE_JSONRPC_EXPORT auto jsonrpc_is_batch(const sourcemeta::core::JSON &payload) -> bool
SOURCEMETA_CORE_JSONRPC_EXPORT auto jsonrpc_make_error_parse() -> const sourcemeta::core::JSON &
SOURCEMETA_CORE_JSONRPC_EXPORT auto jsonrpc_is_valid_batch(const sourcemeta::core::JSON &payload) -> bool
constexpr std::int64_t JSONRPC_CODE_SERVER_ERROR_MIN
Definition jsonrpc.h:48
constexpr std::int64_t JSONRPC_CODE_PARSE
Definition jsonrpc.h:27
SOURCEMETA_CORE_JSONRPC_EXPORT auto jsonrpc_request_id(const sourcemeta::core::JSON &request) -> const sourcemeta::core::JSON *
SOURCEMETA_CORE_JSONRPC_EXPORT auto jsonrpc_make_error_internal(const sourcemeta::core::JSON *identifier=nullptr) -> sourcemeta::core::JSON
SOURCEMETA_CORE_JSONRPC_EXPORT auto jsonrpc_params(const sourcemeta::core::JSON &request) -> const sourcemeta::core::JSON *
SOURCEMETA_CORE_JSONRPC_EXPORT auto jsonrpc_is_notification(const sourcemeta::core::JSON &request) -> bool
constexpr std::int64_t JSONRPC_CODE_INTERNAL
Definition jsonrpc.h:43
SOURCEMETA_CORE_JSONRPC_EXPORT auto jsonrpc_make_error_invalid_params(const sourcemeta::core::JSON &identifier, std::optional< sourcemeta::core::JSON > data=std::nullopt) -> sourcemeta::core::JSON
constexpr std::int64_t JSONRPC_CODE_METHOD_NOT_FOUND
Definition jsonrpc.h:35
SOURCEMETA_CORE_JSONRPC_EXPORT auto jsonrpc_make_success_empty(const sourcemeta::core::JSON &identifier) -> sourcemeta::core::JSON
SOURCEMETA_CORE_JSONRPC_EXPORT auto jsonrpc_make_error(const sourcemeta::core::JSON *identifier, const std::int64_t code, const JSON::StringView message, std::optional< sourcemeta::core::JSON > data=std::nullopt) -> sourcemeta::core::JSON
SOURCEMETA_CORE_JSONRPC_EXPORT auto jsonrpc_make_error_method_not_found(const sourcemeta::core::JSON &identifier) -> sourcemeta::core::JSON
constexpr std::int64_t JSONRPC_CODE_INVALID_REQUEST
Definition jsonrpc.h:31
SOURCEMETA_CORE_JSONRPC_EXPORT auto jsonrpc_method(const sourcemeta::core::JSON &request) -> JSON::StringView
SOURCEMETA_CORE_JSONRPC_EXPORT auto jsonrpc_make_success(const sourcemeta::core::JSON &identifier, sourcemeta::core::JSON result) -> sourcemeta::core::JSON
SOURCEMETA_CORE_JSONRPC_EXPORT auto jsonrpc_is_server_error(const std::int64_t code) -> bool