\Horde_Rpc_Xmlrpc

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.

Summary

Methods
Properties
Constants
__construct()
authorize()
getInput()
getResponse()
getResponseContentType()
sendOutput()
request()
factory()
_dispatcher()
$_server
No constants found
No protected methods found
$_params
$_requireAuthorization
$_requestMissingAuthorization
$_request
$_logger
N/A
No private methods found
No private properties found
N/A

Properties

$_server

$_server : resource

Resource handler for the XMLRPC server.

Type

resource

$_params

$_params : array

All driver-specific parameters.

Type

array

$_requireAuthorization

$_requireAuthorization : boolean

Do we need an authenticated user?

Type

boolean

$_requestMissingAuthorization

$_requestMissingAuthorization : boolean

Whether we should exit if auth fails instead of requesting authorization credentials.

Type

boolean

$_request

$_request : \Horde_Controller_Request_Http

Request variables, cookies etc.

..

Type

\Horde_Controller_Request_Http

$_logger

$_logger : \Horde_Log_Logger

Logging

Type

\Horde_Log_Logger

Methods

__construct()

__construct(\Horde_Controller_Request_Http  $request, array  $params = array()) 

XMLRPC server constructor

Parameters

\Horde_Controller_Request_Http $request

The request object.

array $params

A hash containing any additional configuration or connection parameters a subclass might need.

authorize()

authorize() : boolean

Check authentication. Different backends may handle authentication in different ways. The base class implementation checks for HTTP Authentication against the Horde auth setup.

Returns

boolean —

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.

getInput()

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.

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.

Returns

mixed —

The input - a string (default), a filehandle, etc.

getResponse()

getResponse(  $request) : string

Sends an RPC request to the server and returns the result.

Parameters

$request

Returns

string —

The XML encoded response from the server.

getResponseContentType()

getResponseContentType() : string

Returns the Content-Type of the response.

Returns

string —

The MIME Content-Type of the RPC response.

sendOutput()

sendOutput(string  $output) : void

Send the output back to the client

Parameters

string $output

The output to send back to the client. Can be overridden in classes if needed.

request()

request(string|\Horde_Url  $url, string  $method, \Horde_Http_Client  $client, array  $params = null) : mixed

Builds an XMLRPC request and sends it to the XMLRPC server.

This statically called method is actually the XMLRPC client.

Parameters

string|\Horde_Url $url

The path to the XMLRPC server on the called host.

string $method

The method to call.

\Horde_Http_Client $client

The transport client

array $params

A hash containing any necessary parameters for the method call.

Throws

\Horde_Rpc_Exception

Returns

mixed —

The returned result from the method.

factory()

factory(mixed  $driver,   $request, array  $params = null) : \Horde_Rpc

Attempts to return a concrete RPC server instance based on $driver.

Parameters

mixed $driver

The type of concrete Horde_Rpc subclass to return.

$request
array $params

A hash containing any additional configuration or connection parameters a subclass might need.

Returns

\Horde_Rpc

The newly created concrete Horde_Rpc server instance, or an exception if there is an error.

_dispatcher()

_dispatcher(string  $method, array  $params, mixed  $data) : mixed

Will be registered as the handler for all available methods and will call the appropriate function through the registry.

Parameters

string $method

The name of the method called by the RPC request.

array $params

The passed parameters.

mixed $data

Unknown.

Returns

mixed —

The result of the called registry method.