use PhpXmlRpc\Helper\XMLParser;
use PhpXmlRpc\Helper\Charset;
+/**
+ * Allows effortless implementation of XML-RPC servers
+ */
class Server
{
/**
* Array defining php functions exposed as xmlrpc methods by this server.
*/
protected $dmap = array();
+
/**
* Defines how functions in dmap will be invoked: either using an xmlrpc request object
* or plain php values.
* Valid strings are 'xmlrpcvals', 'phpvals' or 'epivals'
*/
public $functions_parameters_type = 'xmlrpcvals';
+
/**
* Option used for fine-tuning the encoding the php values returned from
* functions registered in the dispatch map when the functions_parameters_types
* @see Encoder::encode for a list of values
*/
public $phpvals_encoding_options = array('auto_dates');
+
/**
* Controls whether the server is going to echo debugging messages back to the client as comments in response body.
* Valid values: 0,1,2,3
*/
public $debug = 1;
+
/**
* Controls behaviour of server when the invoked user function throws an exception:
* 0 = catch it and return an 'internal error' xmlrpc response (default)
* 2 = allow the exception to float to the upper layers
*/
public $exception_handling = 0;
+
/**
* When set to true, it will enable HTTP compression of the response, in case
* the client has declared its support for compression in the request.
* Set at constructor time.
*/
public $compress_response = false;
+
/**
* List of http compression methods accepted by the server for requests. Set at constructor time.
* NB: PHP supports deflate, gzip compressions out of the box if compiled w. zlib
*/
public $accepted_compression = array();
- /// shall we serve calls to system.* methods?
+
+ /// Shall we serve calls to system.* methods?
public $allow_system_funcs = true;
+
/**
* List of charset encodings natively accepted for requests.
* Set at constructor time.
* UNUSED so far...
*/
public $accepted_charset_encodings = array();
+
/**
- * charset encoding to be used for response.
+ * Charset encoding to be used for response.
* NB: if we can, we will convert the generated response from internal_encoding to the intended one.
* Can be: a supported xml encoding (only UTF-8 and ISO-8859-1 at present, unless mbstring is enabled),
* null (leave unspecified in response, convert output stream to US_ASCII),
* NB: pretty dangerous if you accept every charset and do not have mbstring enabled)
*/
public $response_charset_encoding = '';
+
/**
* Storage for internal debug info.
*/
protected $debug_info = '';
+
/**
* Extra data passed at runtime to method handling functions. Used only by EPI layer
*/
}
/**
- * add a string to the 'internal debug message' (separate from 'user debug message').
+ * Add a string to the 'internal debug message' (separate from 'user debug message').
*
* @param string $string
*/