nlib
nn::nlib::msgpack::jsonrpc::JsonRpcResponse クラスfinal

JSON-RPCのレスポンスを表すクラスです。 [詳解]

#include "nn/nlib/msgpack/jsonrpc/JsonRpcResponse.h"

公開型

enum  ErrorCode {
  kOk = 0,
  kParseError = -32700,
  kInvalidRequest = -32600,
  kMethodNotFound = -32601,
  kInvalidParams = -32602,
  kInternalError = -32603,
  kClientAbort = -31000
}
 JSON-RPCのレスポンスに含まれる(事前定義の)エラーコードの定義です。 [詳解]
 

公開メンバ関数

 JsonRpcResponse () noexcept
 デフォルトコンストラクタです。
 
void MoveResultFrom (MpObject &obj) noexcept
 JSON-RPCの戻り値を設定します(エラーでない場合)。 [詳解]
 
void SetError (int errcode, const char *msg, MpObject &data) noexcept
 JSON-RPC関数のエラーを設定します。 [詳解]
 
void SetError (int errcode, const char *msg) noexcept
 JSON-RPC関数のエラーを設定します。 [詳解]
 
ErrorCode GetError () const noexcept
 エラーコードを返します。 [詳解]
 
reqid_t GetId () const noexcept
 JSON-RPCレスポンスのid を返します。 [詳解]
 
const char * GetErrorMessage () const noexcept
 エラーメッセージを返します。 [詳解]
 
MpObjectGetMpObject () noexcept
 JSON-RPCの戻り値か、エラーの付加情報を返します。 [詳解]
 
const MpObjectGetMpObject () const noexcept
 JSON-RPCの戻り値か、エラーの付加情報を返します。 [詳解]
 
 operator bool () const
 エラーが発生していなければtrueを返します。
 

詳解

JSON-RPCのレスポンスを表すクラスです。

説明
サーバーはJSON-RPCのリクエストに対してレスポンスを返す必要があります(Notification以外の場合)。 レスポンスは、次のキーを含むJSONの連想配列です。
jsonrpc:
値には"2.0"という文字列が入ります。
result:
呼び出しが成功した場合に含まれます。エラーの場合は含まれません。 値はサーバー上の関数呼び出しの結果となります。
id:
リクエストに付けられていたidが入ります。
クライアント側はこのidを見てレスポンスを適切に振り分けます。
error:
呼び出しがエラーの場合に含まれます。成功した場合は含まれません。
以下のキーを含む連想配列になります。
  • code: エラーコードです。
  • message: エラーメッセージが格納されます。
  • data: エラーについての追加情報が格納されます。値はサーバー定義で省略されるかもしれません。
参照
http://www.jsonrpc.org/specification#examples

JsonRpcResponse.h36 行目に定義があります。

列挙型メンバ詳解

◆ ErrorCode

JSON-RPCのレスポンスに含まれる(事前定義の)エラーコードの定義です。

説明
この他にも-32000から-32768までは予約されていて、-32000から-32099まではサーバーの実装で定義されるエラーとして予約されています。
列挙値
kOk 

JSON-RPCの実行が成功しました。

kParseError 

JSONのパースに失敗しました。この値はJSON-RPC 2.0によって-32700と決められています。

kInvalidRequest 

受け取ったJSONがJSON-RPCとしては無効でした。この値はJSON-RPC 2.0によって-32600と決められています。

kMethodNotFound 

指定されたメソッドが存在していないか利用できません。この値はJSON-RPC 2.0によって-32601と決められています。

kInvalidParams 

パラメータが無効です。この値はJSON-RPC 2.0によって-32602と決められています。

kInternalError 

内部エラーです。この値はJSON-RPC 2.0によって-32603と決められています。

kClientAbort 

クライアントによってRPCの呼び出しが中断されました。これはnlibによって定義された値です。

JsonRpcResponse.h38 行目に定義があります。

関数詳解

◆ GetError()

nn::nlib::msgpack::jsonrpc::JsonRpcResponse::GetError ( ) const
inlinenoexcept

エラーコードを返します。

戻り値
エラーコード

JsonRpcResponse.h65 行目に定義があります。

◆ GetErrorMessage()

nn::nlib::msgpack::jsonrpc::JsonRpcResponse::GetErrorMessage ( ) const
inlinenoexcept

エラーメッセージを返します。

戻り値
エラーメッセージ

JsonRpcResponse.h69 行目に定義があります。

◆ GetId()

nn::nlib::msgpack::jsonrpc::JsonRpcResponse::GetId ( ) const
inlinenoexcept

JSON-RPCレスポンスのid を返します。

戻り値
JSON-RPCレスポンスのid

JsonRpcResponse.h68 行目に定義があります。

◆ GetMpObject() [1/2]

nn::nlib::msgpack::jsonrpc::JsonRpcResponse::GetMpObject ( )
inlinenoexcept

JSON-RPCの戻り値か、エラーの付加情報を返します。

戻り値
JSON-RPCの戻り値か、エラーの付加情報

JsonRpcResponse.h72 行目に定義があります。

◆ GetMpObject() [2/2]

nn::nlib::msgpack::jsonrpc::JsonRpcResponse::GetMpObject ( ) const
inlinenoexcept

JSON-RPCの戻り値か、エラーの付加情報を返します。

戻り値
JSON-RPCの戻り値か、エラーの付加情報

JsonRpcResponse.h73 行目に定義があります。

◆ MoveResultFrom()

nn::nlib::msgpack::jsonrpc::JsonRpcResponse::MoveResultFrom ( MpObject obj)
noexcept

JSON-RPCの戻り値を設定します(エラーでない場合)。

引数
[in,out]obj設定される戻り値
説明
コピーのオーバーヘッドを避けるため、objの内容はJsonRpcResponseオブジェクトに移動することに注意してください。

◆ SetError() [1/2]

nn::nlib::msgpack::jsonrpc::JsonRpcResponse::SetError ( int  errcode,
const char *  msg,
MpObject data 
)
noexcept

JSON-RPC関数のエラーを設定します。

引数
[in]errcodeエラーコード
[in]msgエラーメッセージ
[in,out]dataエラーについての追加情報
説明
コピーのオーバーヘッドを避けるため、データの内容はJsonRpcResponseオブジェクトに移動することに注意してください。

◆ SetError() [2/2]

nn::nlib::msgpack::jsonrpc::JsonRpcResponse::SetError ( int  errcode,
const char *  msg 
)
inlinenoexcept

JSON-RPC関数のエラーを設定します。

引数
[in]errcodeエラーコード
[in]msgエラーメッセージ

JsonRpcResponse.h60 行目に定義があります。


このクラス詳解は次のファイルから抽出されました: