Public Member Functions | |
setContentType ($contentType) | |
setBody ($body) | |
Protected Member Functions | |
populateRequest (CAS_RequestInterface $request) | |
Private Attributes | |
$_contentType | |
$_body |
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; }
Definition at line 68 of file Post.php.
CAS_ProxiedService_Http_Post::populateRequest | ( | CAS_RequestInterface $ | request | ) | [protected] |
Add any other parts of the request needed by concrete classes
CAS_RequestInterface | $request |
Reimplemented from CAS_ProxiedService_Http_Abstract.
Definition at line 120 of file Post.php.
References CAS_RequestInterface::addHeader(), CAS_RequestInterface::makePost(), and CAS_RequestInterface::setPostBody().
CAS_ProxiedService_Http_Post::setBody | ( | $ | body | ) |
Set the body of this POST request.
string | $body |
CAS_OutOfSequenceException | If called after the Request has been sent. |
Definition at line 107 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 |
CAS_OutOfSequenceException | If called after the Request has been sent. |
Definition at line 93 of file Post.php.
References CAS_ProxiedService_Http_Abstract::hasBeenSent().
string CAS_ProxiedService_Http_Post::$_body [private] |