|
ILIAS
release_7 Revision v7.30-3-g800a261c036
|
This class is used to make proxied service requests via the HTTP POST method. More...
Inheritance diagram for CAS_ProxiedService_Http_Post:
Collaboration diagram for CAS_ProxiedService_Http_Post:Public Member Functions | |
| setContentType ($contentType) | |
| Set the content type of this POST request. More... | |
| setBody ($body) | |
| Set the body of this POST request. More... | |
Public Member Functions inherited from CAS_ProxiedService_Http_Abstract | |
| __construct (CAS_Request_RequestInterface $requestHandler, CAS_CookieJar $cookieJar) | |
| Constructor. More... | |
| getServiceUrl () | |
| Answer a service identifier (URL) for whom we should fetch a proxy ticket. More... | |
| setUrl ($url) | |
| Set the URL of the Request. More... | |
| send () | |
| Perform the request. More... | |
| getResponseHeaders () | |
| Answer the headers of the response. More... | |
| getResponseStatusCode () | |
| Answer HTTP status code of the response. More... | |
| getResponseBody () | |
| Answer the body of response. More... | |
| getCookies () | |
| Answer the cookies from the response. More... | |
Public Member Functions inherited from CAS_ProxiedService_Abstract | |
| setProxyTicket ($proxyTicket) | |
| Register a proxy ticket with the Proxy that it can use when making requests. More... | |
| setCasClient (CAS_Client $casClient) | |
| Use a particular CAS_Client->initializeProxiedService() rather than the static phpCAS::initializeProxiedService(). More... | |
| getServiceUrl () | |
| Answer a service identifier (URL) for whom we should fetch a proxy ticket. More... | |
| setProxyTicket ($proxyTicket) | |
| Register a proxy ticket with the ProxiedService that it can use when making requests. More... | |
| setCasClient (CAS_Client $casClient) | |
| Use a particular CAS_Client->initializeProxiedService() rather than the static phpCAS::initializeProxiedService(). More... | |
| setUrl ($url) | |
| Set the URL of the Request. More... | |
| send () | |
| Perform the request. More... | |
| getResponseHeaders () | |
| Answer the headers of the response. More... | |
| getResponseBody () | |
| Answer the body of response. More... | |
Protected Member Functions | |
| populateRequest (CAS_Request_RequestInterface $request) | |
| Add any other parts of the request needed by concrete classes. More... | |
Protected Member Functions inherited from CAS_ProxiedService_Http_Abstract | |
| makeRequest ($url) | |
| Build and perform a request, following redirects. More... | |
| populateRequest (CAS_Request_RequestInterface $request) | |
| Add any other parts of the request needed by concrete classes. More... | |
| getRedirectUrl (array $responseHeaders) | |
| Answer a redirect URL if a redirect header is found, otherwise null. More... | |
| hasBeenSent () | |
| Answer true if our request has been sent yet. More... | |
Protected Member Functions inherited from CAS_ProxiedService_Abstract | |
| getProxyTicket () | |
| Answer the proxy ticket to be used when making requests. More... | |
| initializeProxyTicket () | |
| Fetch our proxy ticket. More... | |
Private Attributes | |
| $_contentType | |
| The content-type of this request. More... | |
| $_body | |
| The body of the this request. More... | |
Additional Inherited Members | |
Protected Attributes inherited from CAS_ProxiedService_Http_Abstract | |
| $requestHandler | |
| The HTTP request mechanism talking to the target service. More... | |
This class is used to make proxied service requests via the HTTP POST method.
Usage Example:
try {
$service = phpCAS::getProxiedService(PHPCAS_PROXIED_SERVICE_HTTP_POST);
$service->setUrl('http://www.example.com/path/');
$service->setContentType('text/xml');
$service->setBody('<?xml version="1.0"?'.'><methodCall><methodName>example.search</methodName></methodCall>');
$service->send();
if ($service->getResponseStatusCode() == 200)
return $service->getResponseBody();
else
// The service responded with an error code 404, 500, etc.
throw new Exception('The service responded with an error.');
} catch (CAS_ProxyTicketException $e) {
if ($e->getCode() == PHPCAS_SERVICE_PT_FAILURE)
return "Your login has timed out. You need to log in again.";
else
// Other proxy ticket errors are from bad request format
// (shouldn't happen) or CAS server failure (unlikely) so lets just
// stop if we hit those.
throw $e;
} catch (CAS_ProxiedService_Exception $e) {
// Something prevented the service request from being sent or received.
// We didn't even get a valid error response (404, 500, etc), so this
// might be caused by a network error or a DNS resolution failure.
// We could handle it in some way, but for now we will just stop.
throw $e;
}
|
protected |
Add any other parts of the request needed by concrete classes.
| CAS_Request_RequestInterface | $request | request interface class |
Reimplemented from CAS_ProxiedService_Http_Abstract.
Definition at line 132 of file Post.php.
References CAS_Request_RequestInterface\addHeader(), CAS_Request_RequestInterface\makePost(), and CAS_Request_RequestInterface\setPostBody().
Here is the call graph for this function:| CAS_ProxiedService_Http_Post::setBody | ( | $body | ) |
Set the body of this POST request.
| string | $body | body to set |
| CAS_OutOfSequenceException | If called after the Request has been sent. |
Definition at line 114 of file Post.php.
References CAS_ProxiedService_Http_Abstract\hasBeenSent().
Here is the call graph for this function:| CAS_ProxiedService_Http_Post::setContentType | ( | $contentType | ) |
Set the content type of this POST request.
| string | $contentType | content type |
| CAS_OutOfSequenceException | If called after the Request has been sent. |
Definition at line 95 of file Post.php.
References CAS_ProxiedService_Http_Abstract\hasBeenSent().
Here is the call graph for this function:
|
private |
|
private |