4#ifndef _Stroika_Framework_WebService_JSONRPC_h_
5#define _Stroika_Framework_WebService_JSONRPC_h_ 1
7#include "Stroika/Frameworks/StroikaPreComp.h"
10#include "Stroika/Foundation/Containers/Mapping.h"
11#include "Stroika/Foundation/Containers/Sequence.h"
12#include "Stroika/Foundation/DataExchange/ObjectVariantMapper.h"
19namespace Stroika::Frameworks::WebService::JSONRPC {
51 optional<VariantValue>
id;
58 namespace ErrorCodes {
59 constexpr int kParseError = -32700;
60 constexpr int kInvalidRequest = -32600;
61 constexpr int kMethodNotFound = -32601;
62 constexpr int kInvalidParameters = -32602;
63 constexpr int kInternalJSONRPCError = -32603;
80 optional<VariantValue> data;
84 nonvirtual String ToString ()
const;
124#include "JSONRPC.inl"
String is like std::u32string, except it is much easier to use, often much more space efficient,...
A generalization of a vector: a container whose elements are keyed by the natural numbers.
ObjectVariantMapper can be used to map C++ types to and from variant-union types, which can be transp...
Simple variant-value (case variant union) object, with (variant) basic types analogous to a value in ...
optional< VariantValue > id
optional< variant< Mapping< String, VariantValue >, Sequence< VariantValue > > > params
optional< VariantValue > result