ILIAS
release_5-4 Revision v5.4.26-12-gabc799a52e6
|
This class is used to make proxied service requests via the HTTP POST method. More...
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... | |
Public Member Functions inherited from CAS_ProxiedService | |
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... | |
Public Member Functions inherited from CAS_ProxiedService_Http | |
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 |
Definition at line 132 of file Post.php.
References CAS_Request_RequestInterface\addHeader(), CAS_Request_RequestInterface\makePost(), and CAS_Request_RequestInterface\setPostBody().
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().
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 $contentType, and CAS_ProxiedService_Http_Abstract\hasBeenSent().
|
private |
|
private |