Qorus Integration Engine  3.0.4.p7
OMQ::QorusSystemAPIHelperBase Class Reference

This class provides an easy way to call Qorus API functions using the network API. More...

Inheritance diagram for OMQ::QorusSystemAPIHelperBase:
OMQ::QorusSystemAPIHelper

Public Member Functions

 constructor (*hash opts, *code init)
 creates the object based on the options passed More...
 
 copy ()
 creates a copy of the object
 
 setOptions ()
 this variant of the setOptions() method does nothing when called with no argument
 
 setOptions (hash opts)
 sets connection options More...
 
 setURL (string url)
 sets the URL
 
 setProxyURL (*string url)
 sets or clears the proxy URL
 
string getURL ()
 returns the current URL value
 
*string getProxyURL ()
 returns the current proxy URL value or NOTHING if none is set
 
bool isXmlRpc ()
 returns True if the object is using the XML-RPC protocol
 
bool isJsonRpc ()
 returns True if the object is using the JSON-RPC protocol
 
bool isYamlRpc ()
 returns True if the object is using the YAML-RPC protocol
 
bool isConnected ()
 returns True if the object is currently connected to the server
 
 setConnectTimeout (int to)
 sets the connect timeout from an integer in milliseconds
 
 setConnectTimeout (date to)
 sets the connect timeout from a relative date/time value (i.e. 30s)
 
 setTimeout (int to)
 sets the receive timeout from an integer in milliseconds
 
 setTimeout (date to)
 sets the receive timeout from a relative date/time value (i.e. 30s)
 
 reconnect ()
 if a connection is established, closes the connection and reconnects immediately
 
 forceXmlRpc ()
 forces the use of the XML-RPC protocol
 
 forceYamlRpc ()
 forces the use of the (proprietary) YAML-RPC protocol More...
 
any methodGate (string api)
 this method is used to redirect calls to unknown methods as the method name when calling the server
 
any memberGate (string api)
 this method is used to redirect calls to unknown methods as the method name when calling the server
 
any callAPIArgs (string api, any args, bool literal=False)
 with this method you can call a method on the server and give the argument list directly as a list More...
 
any callAPIArgsWithInfo (reference info, string api, any args, bool literal=False)
 with this method you can call a method on the server and give the argument list directly as a list and it also requires a reference to a hash as the first argument, which will return technical information about the call More...
 
any callAPI (string api)
 with this method you can call a method on the server, the arguments to the server method should follow the method name normally as arguments to this method More...
 
 setQueue (Queue q)
 this method allows you to set a Queue object to get I/O events from the underlying HTTPClient object
 

Detailed Description

This class provides an easy way to call Qorus API functions using the network API.

the class does not provide any connection pooling; it is thread-safe, but requests from concurrent threads will block while a request from another thread is in progress This class uses YAML-RPC by default, but if calling a Qorus server that does not support YAML-RPC, will automatically fall back to XML-RPC

Note
this should not be used directly; use subclass OMQ::QorusSystemAPIHelper (in server code) or OMQ::Client::QorusSystemAPIHelper (in client code) instead

Member Function Documentation

any OMQ::QorusSystemAPIHelperBase::callAPI ( string  api)

with this method you can call a method on the server, the arguments to the server method should follow the method name normally as arguments to this method

if an error message is returned, then an equivalent Qore-language exception is thrown

Parameters
$apithe server method name to call
Returns
returns the value returned by the server
any OMQ::QorusSystemAPIHelperBase::callAPIArgs ( string  api,
any  args,
bool  literal = False 
)

with this method you can call a method on the server and give the argument list directly as a list

if an error message is returned, then an equivalent Qore-language exception is thrown

Parameters
$apithe server method name to call
$argsthe argument or argument list to give to the method
$literalif True then the object will not try to prepend "omq.system." to the method name if it does not have any "." characters in it
Returns
returns the value returned by the server
any OMQ::QorusSystemAPIHelperBase::callAPIArgsWithInfo ( reference  info,
string  api,
any  args,
bool  literal = False 
)

with this method you can call a method on the server and give the argument list directly as a list and it also requires a reference to a hash as the first argument, which will return technical information about the call

if an error message is returned, then an equivalent Qore-language exception is thrown

Parameters
$infoa reference to a hash that will be returned with technical information about the call (request and response headers, actual request and response messages, etc)
$apithe server method name to call
$argsthe argument or argument list to give to the method
$literalif True then the object will not try to prepend "omq.system." to the method name if it does not have any "." characters in it
Returns
returns the value returned by the server
OMQ::QorusSystemAPIHelperBase::constructor ( *hash  opts,
*code  init 
)

creates the object based on the options passed

Parameters
$optsoptional hash with the following keys:
  • timeout
  • connect_timeout
  • http_version
  • url
  • max_redirects
  • proxy
$initan optional initialization closure to be called with the RPC object as the sole argument
See also
ValidClientAPIOpts
OMQ::QorusSystemAPIHelperBase::forceYamlRpc ( )

forces the use of the (proprietary) YAML-RPC protocol

Note
YAML-RPC is the preferred protocol when communicating with Qorus servers
OMQ::QorusSystemAPIHelperBase::setOptions ( hash  opts)

sets connection options

Parameters
$optsoptional hash with the following keys: timeout, connect_timeout, http_version, url, max_redirects, proxy

The documentation for this class was generated from the following file: