[#JSONRPCRequest]
= JSONRPCRequest
:mrdocs:

Context and parameters for a single JSON&hyphen;RPC request&period;

== Synopsis

Declared in `&lt;rpc&sol;request&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
class JSONRPCRequest;
----

== Enums

[cols="1,4"]
|===
| Name| Description
| xref:JSONRPCRequest/Mode-08c.adoc[`Mode`] 
| How the request should be handled&period;
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:JSONRPCRequest/IsNotification.adoc[`IsNotification`] 
| Report whether this request is a JSON&hyphen;RPC 2&period;0 notification&period;
| xref:JSONRPCRequest/parse.adoc[`parse`] 
| Parse a JSON&hyphen;RPC request object into this instance&period;
|===


== Data Members

[cols="1,4"]
|===
| Name| Description
| xref:JSONRPCRequest/URI.adoc[`URI`] 
| The transport URI the request arrived on&period;
| xref:JSONRPCRequest/authUser.adoc[`authUser`] 
| The authenticated user that made the request&period;
| xref:JSONRPCRequest/context.adoc[`context`] 
| Opaque per&hyphen;connection context passed to the method&period;
| xref:JSONRPCRequest/id.adoc[`id`] 
| The request id echoed back in the reply&period;
| xref:JSONRPCRequest/m_json_version.adoc[`m&lowbar;json&lowbar;version`] 
| The JSON&hyphen;RPC protocol version of the request&period;
| xref:JSONRPCRequest/mode-083.adoc[`mode`] 
| The handling mode for this request&period;
| xref:JSONRPCRequest/params.adoc[`params`] 
| The method parameters&period;
| xref:JSONRPCRequest/peerAddr.adoc[`peerAddr`] 
| The network address of the requesting peer&period;
| xref:JSONRPCRequest/strMethod.adoc[`strMethod`] 
| The requested RPC method name&period;
|===


== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:JSONRPCExec.adoc[`JSONRPCExec`]
| Execute an RPC request and return its JSON&hyphen;RPC reply&period;
| xref:wallet/EnsureUniqueWalletName.adoc[`wallet&colon;&colon;EnsureUniqueWalletName`]
| Ensures that a wallet name is specified across the endpoint and wallet&lowbar;name&period; Throws `RPC&lowbar;INVALID&lowbar;PARAMETER` if none or different wallet names are specified&period;
| xref:wallet/GetWalletForJSONRPCRequest.adoc[`wallet&colon;&colon;GetWalletForJSONRPCRequest`]
| Figures out what wallet, if any, to use for a JSONRPCRequest&period;
| xref:wallet/GetWalletNameFromJSONRPCRequest.adoc[`wallet&colon;&colon;GetWalletNameFromJSONRPCRequest`]
| Extracts the wallet name encoded in a JSON&hyphen;RPC request endpoint, if any&period;
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
