BlueSpice MediaWiki master
 All Classes Namespaces Files Functions Variables Groups Pages
VirtualRESTService Class Reference
Inheritance diagram for VirtualRESTService:

Public Member Functions

 __construct (array $params)
 
 getName ()
 
 onRequests (array $reqs, Closure $idGeneratorFunc)
 
 onResponses (array $reqs, Closure $idGeneratorFunc)
 

Protected Attributes

 $params = []
 

Detailed Description

Virtual HTTP service instance that can be mounted on to a VirtualRESTService

Sub-classes manage the logic of either:

  • a) Munging virtual HTTP request arrays to have qualified URLs and auth headers
  • b) Emulating the execution of virtual HTTP requests (e.g. brokering)

Authentication information can be cached in instances of the class for performance. Such information should also be cached locally on the server and auth requests should have reasonable timeouts.

Since
1.23

Constructor & Destructor Documentation

VirtualRESTService::__construct ( array  $params)
Parameters
array$paramsKey/value map

Member Function Documentation

VirtualRESTService::getName ( )

Return the name of this service, in a form suitable for error reporting or debugging.

Returns
string The name of the service behind this VRS object.
VirtualRESTService::onRequests ( array  $reqs,
Closure  $idGeneratorFunc 
)

Prepare virtual HTTP(S) requests (for this service) for execution

This method should mangle any of the $reqs entry fields as needed:

  • url : munge the URL to have an absolute URL with a protocol and encode path components as needed by the backend [required]
  • query : include any authentication signatures/parameters [as needed]
  • headers : include any authentication tokens/headers [as needed]

The incoming URL parameter will be relative to the service mount point.

This method can also remove some of the requests as well as add new ones (using $idGenerator to set each of the entries' array keys). For any existing or added request, the 'response' array can be filled in, which will prevent the client from executing it. If an original request is removed, at some point it must be added back (with the same key) in onRequests() or onResponses(); it's reponse may be filled in as with other requests.

Parameters
array$reqsMap of Virtual HTTP request arrays
Closure$idGeneratorFuncMethod to generate unique keys for new requests
Returns
array Modified HTTP request array map
VirtualRESTService::onResponses ( array  $reqs,
Closure  $idGeneratorFunc 
)

Mangle or replace virtual HTTP(S) requests which have been responded to

This method may mangle any of the $reqs entry 'response' fields as needed:

  • code : perform any code normalization [as needed]
  • reason : perform any reason normalization [as needed]
  • headers : perform any header normalization [as needed]

This method can also remove some of the requests as well as add new ones (using $idGenerator to set each of the entries' array keys). For any existing or added request, the 'response' array can be filled in, which will prevent the client from executing it. If an original request is removed, at some point it must be added back (with the same key) in onRequests() or onResponses(); it's reponse may be filled in as with other requests. All requests added to $reqs will be passed through onRequests() to handle any munging required as normal.

The incoming URL parameter will be relative to the service mount point.

Parameters
array$reqsMap of Virtual HTTP request arrays with 'response' set
Closure$idGeneratorFuncMethod to generate unique keys for new requests
Returns
array Modified HTTP request array map

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