1<?php 2 3/** 4 * Licensed to Jasig under one or more contributor license 5 * agreements. See the NOTICE file distributed with this work for 6 * additional information regarding copyright ownership. 7 * 8 * Jasig licenses this file to you under the Apache License, 9 * Version 2.0 (the "License"); you may not use this file except in 10 * compliance with the License. You may obtain a copy of the License at: 11 * 12 * http://www.apache.org/licenses/LICENSE-2.0 13 * 14 * Unless required by applicable law or agreed to in writing, software 15 * distributed under the License is distributed on an "AS IS" BASIS, 16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17 * See the License for the specific language governing permissions and 18 * limitations under the License. 19 * 20 * PHP Version 7 21 * 22 * @file CAS/ProxiedService/Http.php 23 * @category Authentication 24 * @package PhpCAS 25 * @author Adam Franco <afranco@middlebury.edu> 26 * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0 27 * @link https://wiki.jasig.org/display/CASC/phpCAS 28 */ 29 30/** 31 * This interface defines methods that clients should use for configuring, sending, 32 * and receiving proxied HTTP requests. 33 * 34 * @class CAS_ProxiedService_Http 35 * @category Authentication 36 * @package PhpCAS 37 * @author Adam Franco <afranco@middlebury.edu> 38 * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0 39 * @link https://wiki.jasig.org/display/CASC/phpCAS 40 */ 41interface CAS_ProxiedService_Http 42{ 43 44 /********************************************************* 45 * Configure the Request 46 *********************************************************/ 47 48 /** 49 * Set the URL of the Request 50 * 51 * @param string $url Url to set 52 * 53 * @return void 54 * @throws CAS_OutOfSequenceException If called after the Request has been sent. 55 */ 56 public function setUrl ($url); 57 58 /********************************************************* 59 * 2. Send the Request 60 *********************************************************/ 61 62 /** 63 * Perform the request. 64 * 65 * @return bool TRUE on success, FALSE on failure. 66 * @throws CAS_OutOfSequenceException If called multiple times. 67 */ 68 public function send (); 69 70 /********************************************************* 71 * 3. Access the response 72 *********************************************************/ 73 74 /** 75 * Answer the headers of the response. 76 * 77 * @return array An array of header strings. 78 * @throws CAS_OutOfSequenceException If called before the Request has been sent. 79 */ 80 public function getResponseHeaders (); 81 82 /** 83 * Answer the body of response. 84 * 85 * @return string 86 * @throws CAS_OutOfSequenceException If called before the Request has been sent. 87 */ 88 public function getResponseBody (); 89 90} 91?> 92