JsonRpcHandler class definition; to be registered as a handler in the HttpServer class.
More...
Inherits AbstractHttpRequestHandler.
|
| constructor (HttpServer::AbstractAuthenticator n_auth, list n_methods, *code n_getLogMessage, bool n_dbg=False, *string n_get_prefix, *code n_log) |
| creates the handler with the given method list More...
|
|
| addMethod (string name, code func, string text, string help, auto logopt, auto cmark) |
| adds a method to the handler dynamically More...
|
|
| 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
|
|
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()
JsonRpcHandler::JsonRpcHandler::constructor |
( |
HttpServer::AbstractAuthenticator |
n_auth, |
|
|
list |
n_methods, |
|
|
*code |
n_getLogMessage, |
|
|
bool |
n_dbg = False , |
|
|
*string |
n_get_prefix, |
|
|
*code |
n_log |
|
) |
| |
creates the handler with the given method list
- Parameters
-
n_auth | an authentication object (use new AbstractAuthenticator() for no authentication) |
n_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
|
n_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 |
n_dbg | this parameter is set to True, then additional information will be logged when errors occur |
n_get_prefix | prefix to add to derived methods with GET requests if no "." characters are in the path |
n_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 |