phpCAS version 1.3.6

Public Member Functions | Protected Member Functions | Private Attributes | List of all members
CAS_ProxiedService_Http_Post Class Reference
Inheritance diagram for CAS_ProxiedService_Http_Post:

## Public Member Functions
| setContentType ($contentType)
| setBody ($body)
Public Member Functions inherited from CAS_ProxiedService_Http_Abstract
| __construct (CAS_Request_RequestInterface $requestHandler, CAS_CookieJar $cookieJar)
| getServiceUrl ()
| setUrl ($url)
| send ()
| getResponseHeaders ()
| getResponseStatusCode ()
| getResponseBody ()
| getCookies ()
Public Member Functions inherited from CAS_ProxiedService_Abstract
| setProxyTicket ($proxyTicket)
| setCasClient (CAS_Client $casClient)
Public Member Functions inherited from CAS_ProxiedService
| getServiceUrl ()
| setProxyTicket ($proxyTicket)
Public Member Functions inherited from CAS_ProxiedService_Http
| setUrl ($url)
| send ()
| getResponseHeaders ()
| getResponseBody ()

## Protected Member Functions
| populateRequest (CAS_Request_RequestInterface $request)
Protected Member Functions inherited from CAS_ProxiedService_Http_Abstract
| makeRequest ($url)
| populateRequest (CAS_Request_RequestInterface $request)
| getRedirectUrl (array $responseHeaders)
| hasBeenSent ()
Protected Member Functions inherited from CAS_ProxiedService_Abstract
| getProxyTicket ()
| initializeProxyTicket ()

## Private Attributes
| $_contentType
| $_body

## Additional Inherited Members
Protected Attributes inherited from CAS_ProxiedService_Http_Abstract
| $requestHandler

## Detailed Description

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 70 of file Post.php.

## Member Function Documentation

## ◆ populateRequest()

CAS_ProxiedService_Http_Post::populateRequest | ( | CAS_Request_RequestInterface | $request | ) |
| protected

Add any other parts of the request needed by concrete classes

Parameters

  CAS_Request_RequestInterface | $request | request interface class

Returns
  void

Definition at line 133 of file Post.php.

References CAS_Request_RequestInterface\addHeader(), CAS_Request_RequestInterface\makePost(), and CAS_Request_RequestInterface\setPostBody().

## ◆ setBody()

CAS_ProxiedService_Http_Post::setBody | ( |  | $body | ) |

Set the body of this POST request.

Parameters

  string | $body | body to set

Returns
  void

Exceptions

  CAS_OutOfSequenceException | If called after the Request has been sent.

Definition at line 115 of file Post.php.

References CAS_ProxiedService_Http_Abstract\hasBeenSent().

## ◆ setContentType()

CAS_ProxiedService_Http_Post::setContentType | ( |  | $contentType | ) |

Set the content type of this POST request.

Parameters

  string | $contentType | content type

Returns
  void

Exceptions

  CAS_OutOfSequenceException | If called after the Request has been sent.

Definition at line 96 of file Post.php.

References CAS_ProxiedService_Http_Abstract\hasBeenSent().

## Member Data Documentation

## ◆ $_body

string CAS_ProxiedService_Http_Post::$_body
| private

The body of the this request

Definition at line 86 of file Post.php.

## ◆ $_contentType

string CAS_ProxiedService_Http_Post::$_contentType
| private

The content-type of this request

Definition at line 79 of file Post.php.