JsonRpcHandler class definition; to be registered as a handler in the HttpServer class.
More...
#include <JsonRpcHandler.qm.dox.h>
Inherits AbstractHttpRequestHandler, and Logger::LoggerWrapper.
|
| constructor (Logger::LoggerInterface logger, HttpServer::AbstractAuthenticator auth, *list< auto > methods, *code getLogMessage, bool dbg=False, *string get_prefix) |
| Creates the handler with the given method list.
|
|
| constructor (HttpServer::AbstractAuthenticator auth, *list< auto > methods, *code getLogMessage, bool dbg=False, *string get_prefix, *code log) |
| Creates the handler with the given method list.
|
|
| addMethod (string name, code func, string text, string help, auto logopt, auto cmark) |
| adds a method to the handler dynamically
|
|
| addMethods (list< auto > methods) |
| Add a list of methods.
|
|
| setDebug (bool dbg=True) |
| turns on or off debugging; when debugging is enabled more verbose error messages are reported
|
|
bool | getDebug () |
| returns the current status of the debug flag
|
|
|
const | Version = "2.0" |
| implementation of the handler
|
|
const | InternalMethods = ... |
| internal methods of the handler (introspection)
|
|
const | JRE_ParseError = -32700 |
| JSON-RPC Error Code: Parse Error.
|
|
const | JRE_InvalidRequest = -32600 |
| JSON-RPC Error Code: Invalid Request.
|
|
const | JRE_MethodNotFound = -32601 |
| JSON-RPC Error Code: Method not found.
|
|
const | JRE_InvalidParams = -32602 |
| JSON-RPC Error Code: Invalid Params.
|
|
const | JRE_InternalError = -32603 |
| JSON-RPC Error Code: Internal error.
|
|
|
| init (*list< auto > methods, *code getLogMessage, bool dbg=False, *string get_prefix) |
| Shared constructor code.
|
|
| addMethodInternal (hash< auto > h) |
| @conf nodoc
|
|
JsonRpcHandler class definition; to be registered as a handler in the HttpServer class.
◆ addMethod()
JsonRpcHandler::JsonRpcHandler::addMethod |
( |
string |
name, |
|
|
code |
func, |
|
|
string |
text, |
|
|
string |
help, |
|
|
auto |
logopt, |
|
|
auto |
cmark |
|
) |
| |
adds a method to the handler dynamically
- Parameters
-
name | a regular expression to use for matching the method name |
func | a string (giving a function name to call), a call reference, or a closure to call with the deserialized arguments to the method; the return value will be serialized to XML-RPC and sent back to the caller |
text | the human-readable name of the method |
help | help text for the method |
logopt | log options which can be used by a custom logger (see the getLogMessage parameter) |
cmark | any value that will be added in the method hash under the "cmark" key |
◆ constructor() [1/2]
JsonRpcHandler::JsonRpcHandler::constructor |
( |
HttpServer::AbstractAuthenticator |
auth, |
|
|
*list< auto > |
methods, |
|
|
*code |
getLogMessage, |
|
|
bool |
dbg = False , |
|
|
*string |
get_prefix, |
|
|
*code |
log |
|
) |
| |
Creates the handler with the given method list.
- Parameters
-
auth | an authentication object (use new AbstractAuthenticator() for no authentication) |
methods | a list of hashes with the following keys:
name: a regular expression to use for matching the method name
function: a string (giving a function name to call), a call reference, or a closure to call with the deserialized arguments to the method; the return value will be serialized to JSON-RPC and sent back to the caller
text: the human-readable name of the method
help: help text for the method
logopt: (optional - by convention) log options which can be used by a custom logger (see the getLogMessage parameter)
cmark: (optional) a data structure to be added to the context argument when the request method is called
|
getLogMessage | an optional closure or call reference to be called when an incoming request is received; if this is set then it will be called with the following arguments: a context hash (see HttpServer::AbstractHttpRequestHandler::handleRequest() for a description of the context hash), the method definition as passed in the methods argument to this constructor, and a reference to the arguments in this call |
dbg | this parameter is set to True, then additional information will be logged when errors occur |
get_prefix | prefix to add to derived methods with GET requests if no "." characters are in the path |
log | an optional closure or call reference to be called when logging |
- Exceptions
-
JSON-RPC-CONSTRUCTOR-ERROR | missing "name" , "function" , or "text" key in method hash,
\c "function" key not assigned to a callable value |
◆ constructor() [2/2]
JsonRpcHandler::JsonRpcHandler::constructor |
( |
Logger::LoggerInterface |
logger, |
|
|
HttpServer::AbstractAuthenticator |
auth, |
|
|
*list< auto > |
methods, |
|
|
*code |
getLogMessage, |
|
|
bool |
dbg = False , |
|
|
*string |
get_prefix |
|
) |
| |
Creates the handler with the given method list.
- Parameters
-
logger | the logger for the object |
auth | an authentication object (use new AbstractAuthenticator() for no authentication) |
methods | a list of hashes with the following keys:
name: a regular expression to use for matching the method name
function: a string (giving a function name to call), a call reference, or a closure to call with the deserialized arguments to the method; the return value will be serialized to JSON-RPC and sent back to the caller
text: the human-readable name of the method
help: help text for the method
logopt: (optional - by convention) log options which can be used by a custom logger (see the getLogMessage parameter)
cmark: (optional) a data structure to be added to the context argument when the request method is called
|
getLogMessage | an optional closure or call reference to be called when an incoming request is received; if this is set then it will be called with the following arguments: a context hash (see HttpServer::AbstractHttpRequestHandler::handleRequest() for a description of the context hash), the method definition as passed in the methods argument to this constructor, and a reference to the arguments in this call |
dbg | this parameter is set to True, then additional information will be logged when errors occur |
get_prefix | prefix to add to derived methods with GET requests if no "." characters are in the path |
- Exceptions
-
JSON-RPC-CONSTRUCTOR-ERROR | missing "name" , "function" , or "text" key in method hash,
\c "function" key not assigned to a callable value |
The documentation for this class was generated from the following file:
- doxygen/qlib/JsonRpcHandler/JsonRpcHandler.qm.dox.h