Qore yaml Module 1.0.0
Loading...
Searching...
No Matches
YamlRpcHandler::YamlRpcHandler Class Reference

YamlRpcHandler class definition; to be registered as a handler in the HttpServer class. More...

#include <YamlRpcHandler.qm.dox.h>

Inherits AbstractHttpRequestHandler.

Public Member Methods

 constructor (HttpServer::AbstractAuthenticator auth, list< auto > methods, *code get_log_msg, 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
 
 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
 

Static Public Member Methods

static string makeResponse (auto response, int flags=YAML::None)
 serializes a reponse in YAML-RPC format given the arguments
 
static string makeErrorResponse (int code, string mess, auto err, int flags=YAML::None)
 serializes an error reponse in YAML-RPC format given the arguments
 

Public Attributes

const Version = "1.0"
 implementation of the handler
 
const InternalMethods = ...
 internal methods of the handler (introspection)
 

Detailed Description

YamlRpcHandler class definition; to be registered as a handler in the HttpServer class.

Member Function Documentation

◆ addMethod()

YamlRpcHandler::YamlRpcHandler::addMethod ( string  name,
code  func,
string  text,
string  help,
auto  logopt,
auto  cmark 
)

adds a method to the handler dynamically

Parameters
namea regular expression to use for matching the method name
funca 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 YAML-RPC and sent back to the caller
textthe human-readable name of the method
helphelp text for the method
logoptlog options which can be used by a custom logger (see the getLogMessage parameter)
cmarkany value that will be added in the method hash under the "cmark" key

◆ constructor()

YamlRpcHandler::YamlRpcHandler::constructor ( HttpServer::AbstractAuthenticator  auth,
list< auto >  methods,
*code  get_log_msg,
bool  dbg = False,
*string  get_prefix,
*code  log 
)

creates the handler with the given method list

Parameters
authan authentication object (use new AbstractAuthenticator() for no authentication)
methodsa 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 YAML-RPC and sent back to the caller
  • help: help text for the method
  • text: the human-readable name of the method
  • logopt: (optional - by convention) log options which can be used by a custom logger (see the getLogMessage parameter)
get_log_msgan 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
dbgthis parameter is set to True, then additional information will be logged when errors occur
get_prefixprefix to add to derived methods with GET requests if no "." characters are in the path
logan optional closure or call reference to be called when logging
Exceptions
YAML-RPC-CONSTRUCTOR-ERRORmissing "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: