Horde_Rpc_Xmlrpc
extends Horde_Rpc
in package
The Horde_Rpc_xmlrpc class provides an XMLRPC implementation of the Horde RPC system.
Copyright 2002-2017 Horde LLC (http://www.horde.org/)
See the enclosed file LICENSE for license information (LGPL). If you did not receive this file, see http://www.horde.org/licenses/lgpl21.
Tags
Table of Contents
- $_server : resource
- Resource handler for the XMLRPC server.
- $_logger : Horde_Log_Logger
- Logging
- $_params : array<string|int, mixed>
- All driver-specific parameters.
- $_request : Horde_Controller_Request_Http
- Request variables, cookies etc.
- $_requestMissingAuthorization : bool
- Whether we should exit if auth fails instead of requesting authorization credentials.
- $_requireAuthorization : bool
- Do we need an authenticated user?
- __construct() : mixed
- XMLRPC server constructor
- _dispatcher() : mixed
- Will be registered as the handler for all available methods and will call the appropriate function through the registry.
- authorize() : bool
- Check authentication. Different backends may handle authentication in different ways. The base class implementation checks for HTTP Authentication against the Horde auth setup.
- factory() : Horde_Rpc
- Attempts to return a concrete RPC server instance based on $driver.
- getInput() : mixed
- Get the request body input. Different RPC backends can override this to return an open stream to php://stdin, for instance - whatever is easiest to handle in the getResponse() method.
- getResponse() : string
- Sends an RPC request to the server and returns the result.
- getResponseContentType() : string
- Returns the Content-Type of the response.
- request() : mixed
- Builds an XMLRPC request and sends it to the XMLRPC server.
- sendOutput() : void
- Send the output back to the client
Properties
$_server
Resource handler for the XMLRPC server.
public
resource
$_server
$_logger
Logging
protected
Horde_Log_Logger
$_logger
$_params
All driver-specific parameters.
protected
array<string|int, mixed>
$_params
= array()
$_request
Request variables, cookies etc.
protected
Horde_Controller_Request_Http
$_request
..
$_requestMissingAuthorization
Whether we should exit if auth fails instead of requesting authorization credentials.
protected
bool
$_requestMissingAuthorization
= \true
$_requireAuthorization
Do we need an authenticated user?
protected
bool
$_requireAuthorization
= \true
Methods
__construct()
XMLRPC server constructor
public
__construct(mixed $request[, mixed $params = array() ]) : mixed
Parameters
- $request : mixed
-
The request object.
- $params : mixed = array()
-
A hash containing any additional configuration or connection parameters a subclass might need.
Tags
Return values
mixed —_dispatcher()
Will be registered as the handler for all available methods and will call the appropriate function through the registry.
public
_dispatcher(string $method, array<string|int, mixed> $params, mixed $data) : mixed
Parameters
- $method : string
-
The name of the method called by the RPC request.
- $params : array<string|int, mixed>
-
The passed parameters.
- $data : mixed
-
Unknown.
Tags
Return values
mixed —The result of the called registry method.
authorize()
Check authentication. Different backends may handle authentication in different ways. The base class implementation checks for HTTP Authentication against the Horde auth setup.
public
authorize() : bool
Return values
bool —Returns true if authentication is successful. Should send appropriate "not authorized" headers or other response codes/body if auth fails, and take care of exiting.
factory()
Attempts to return a concrete RPC server instance based on $driver.
public
static factory(mixed $driver, mixed $request[, array<string|int, mixed> $params = null ]) : Horde_Rpc
Parameters
- $driver : mixed
-
The type of concrete Horde_Rpc subclass to return.
- $request : mixed
- $params : array<string|int, mixed> = null
-
A hash containing any additional configuration or connection parameters a subclass might need.
Return values
Horde_Rpc —The newly created concrete Horde_Rpc server instance, or an exception if there is an error.
getInput()
Get the request body input. Different RPC backends can override this to return an open stream to php://stdin, for instance - whatever is easiest to handle in the getResponse() method.
public
getInput() : mixed
The base class implementation looks for $HTTP_RAW_POST_DATA and returns that if it's available; otherwise, it returns the contents of php://stdin.
Return values
mixed —The input - a string (default), a filehandle, etc.
getResponse()
Sends an RPC request to the server and returns the result.
public
getResponse(mixed $request) : string
Parameters
- $request : mixed
Return values
string —The XML encoded response from the server.
getResponseContentType()
Returns the Content-Type of the response.
public
getResponseContentType() : string
Return values
string —The MIME Content-Type of the RPC response.
request()
Builds an XMLRPC request and sends it to the XMLRPC server.
public
static request(string|Horde_Url $url, string $method, Horde_Http_Client $client[, array<string|int, mixed> $params = null ][, mixed $unused = null ]) : mixed
This statically called method is actually the XMLRPC client.
Parameters
- $url : string|Horde_Url
-
The path to the XMLRPC server on the called host.
- $method : string
-
The method to call.
- $client : Horde_Http_Client
-
The transport client
- $params : array<string|int, mixed> = null
-
A hash containing any necessary parameters for the method call.
- $unused : mixed = null
-
This param is only here to be compatible with Horde_Rpc, since that has $driver as the first param.
Tags
Return values
mixed —The returned result from the method.
sendOutput()
Send the output back to the client
public
sendOutput(string $output) : void
Parameters
- $output : string
-
The output to send back to the client. Can be overridden in classes if needed.