8#include <nlohmann/json.hpp>
18 std::string method, std::optional<nlohmann::json> params,
19 const std::function<
RequestId()>& id_generator);
22 std::string method, std::optional<nlohmann::json> params,
RequestId id);
25 std::string method, std::optional<nlohmann::json> params = std::nullopt);
27 static auto FromJson(
const nlohmann::json& json_obj)
28 -> std::expected<Request, error::RpcError>;
30 [[nodiscard]]
auto GetMethod() const -> const std::
string& {
39 return is_notification_;
46 [[nodiscard]] auto
Dump() const -> std::
string;
52 std::optional<
nlohmann::json> params_;
53 bool is_notification_;
auto GetMethod() const -> const std::string &
auto GetParams() const -> const std::optional< nlohmann::json > &
auto GetId() const -> RequestId
auto IsNotification() const -> bool
auto RequiresResponse() const -> bool
Request(std::string method, std::optional< nlohmann::json > params, const std::function< RequestId()> &id_generator)
auto Dump() const -> std::string
static auto FromJson(const nlohmann::json &json_obj) -> std::expected< Request, error::RpcError >
std::variant< int64_t, std::string > RequestId