\Horde_Rpc_Webdav

The Horde_Rpc class provides a set of server and client methods for RPC communication.

TODO:

  • Introspection documentation and method signatures.

EXAMPLE: $response = Horde_Rpc::request('xmlrpc', 'http://localhost:80/horde/rpc.php', 'contacts.search', $transport_client, array(array('jan'), array('localsql'), array('name', 'email')));

Summary

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

Properties

$_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

$_server

$_server : \Sabre\DAV\Server

The server instance.

Type

\Sabre\DAV\Server

Methods

__construct()

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

Constructor.

Parameters

\Horde_Controller_Request_Http $request

The request object.

array $params

A hash containing any additional configuration or connection parameters.

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

Implemented in Sabre\DAV\Server.

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

Implemented in Sabre\DAV\Server.

Parameters

string $output

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

request()

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

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

This statically called method is actually the RPC client.

Parameters

string $driver

The protocol driver to use. Currently 'soap', 'xmlrpc' and 'jsonrpc' are available.

string|\Horde_Url $url

The path to the RPC server on the called host.

string $method

The method to call.

mixed $client

An appropriate request client for the type of request. (Horde_Http_Request, SoapClient etc..)

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.