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

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

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

公開型

enum  ErrorCode {
  OK = 0,
  PARSE_ERROR = -32700,
  INVALID_REQUEST = -32600,
  METHOD_NOT_FOUND = -32601,
  INVALID_PARAMS = -32602,
  INTERNAL_ERROR = -32603,
  CLIENT_ABORT = -31000
}
 JSON-RPCのレスポンスに含まれる(事前定義の)エラーコードの定義です。 [詳解]
 

公開メンバ関数

 JsonRpcResponse ()
 デフォルトコンストラクタです。
 
void MoveResultFrom (MpObject &obj)
 JSON-RPCの戻り値を設定します(エラーでない場合)。 [詳解]
 
void SetError (int errcode, const char *msg, MpObject &data)
 JSON-RPC関数のエラーを設定します。 [詳解]
 
void SetError (int errcode, const char *msg)
 JSON-RPC関数のエラーを設定します。 [詳解]
 
bool IsError () const
 エラーか発生しているかどうかを返します。 [詳解]
 
int GetErrorCode () const
 エラーコードを返します。 [詳解]
 
reqid_t GetId () const
 JSON-RPCレスポンスのid を返します。 [詳解]
 
const char * GetErrorMessage () const
 エラーメッセージを返します。 [詳解]
 
MpObjectGetMpObject ()
 JSON-RPCの戻り値か、エラーの付加情報を返します。 [詳解]
 
const MpObjectGetMpObject () const
 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#examp を御覧ください。

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

列挙型メンバ詳解

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

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

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

PARSE_ERROR 

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

INVALID_REQUEST 

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

METHOD_NOT_FOUND 

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

INVALID_PARAMS 

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

INTERNAL_ERROR 

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

CLIENT_ABORT 

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

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

関数詳解

nn::nlib::msgpack::jsonrpc::JsonRpcResponse::GetErrorCode ( ) const
inline

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

戻り値
エラーコード

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

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

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

戻り値
エラーメッセージ

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

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

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

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

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

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

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

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

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

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

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

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

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

nn::nlib::msgpack::jsonrpc::JsonRpcResponse::IsError ( ) const
inline

エラーか発生しているかどうかを返します。

戻り値
trueならばエラー

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

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

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

引数
[in,out]obj設定される戻り値
説明
コピーのオーバーヘッドを避けるため、objの内容はJsonRpcResponseオブジェクトに移動することに注意してください。
nn::nlib::msgpack::jsonrpc::JsonRpcResponse::SetError ( int  errcode,
const char *  msg,
MpObject data 
)

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

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

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

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

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


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