Source for file FileGetContents.php
Documentation is available at FileGetContents.php
-  * Copyright (c) 2007-2011, Servigistics, Inc. 
-  * Redistribution and use in source and binary forms, with or without 
-  * modification, are permitted provided that the following conditions are met: 
-  *  - Redistributions of source code must retain the above copyright notice, 
-  *    this list of conditions and the following disclaimer. 
-  *  - Redistributions in binary form must reproduce the above copyright 
-  *    notice, this list of conditions and the following disclaimer in the 
-  *    documentation and/or other materials provided with the distribution. 
-  *  - Neither the name of Servigistics, Inc. nor the names of 
-  *    its contributors may be used to endorse or promote products derived from 
-  *    this software without specific prior written permission. 
-  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
-  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
-  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
-  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 
-  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
-  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
-  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
-  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
-  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
-  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
-  * POSSIBILITY OF SUCH DAMAGE. 
-  * @copyright Copyright 2007-2011 Servigistics, Inc. (http://servigistics.com) 
-  * @license http://solr-php-client.googlecode.com/svn/trunk/COPYING New BSD 
-  * @author Donovan Jimenez <djimenez@conduit-it.com> 
- // Require Apache_Solr_HttpTransport_Abstract 
- require_once(dirname(- __FILE__ )- .  '/Abstract.php');
 
-  * HTTP Transport implemenation that uses the builtin http URL wrappers and file_get_contents 
-      * SVN Revision meta data for this class 
-      * SVN ID meta data for this class 
-      * Reusable stream context resources for GET and POST operations 
-     private $_getContext, $_headContext, $_postContext; 
-      * Initializes our reuseable get and post stream contexts 
-         // set the timeout if specified 
-         if ($timeout - !==  FALSE- &&  $timeout- >  0.0)
 
-             // timeouts with file_get_contents seem to need 
-             // to be halved to work as expected 
-             $timeout - = (float)  $timeout- /  2;
 
-             // use the default timeout pulled from default_socket_timeout otherwise 
-         // $http_response_headers will be updated by the call to file_get_contents later 
-         // see http://us.php.net/manual/en/wrappers.http.php for documentation 
-         // Unfortunately, it will still create a notice in analyzers if we don't set it here 
-         $http_response_header - =  null;
 
-         return $this->_getResponseFromParts($responseBody, $http_response_header); 
-         // set the timeout if specified 
-         if ($timeout - !==  FALSE- &&  $timeout- >  0.0)
 
-             // timeouts with file_get_contents seem to need 
-             // to be halved to work as expected 
-             $timeout - = (float)  $timeout- /  2;
 
-         // $http_response_headers will be updated by the call to file_get_contents later 
-         // see http://us.php.net/manual/en/wrappers.http.php for documentation 
-         // Unfortunately, it will still create a notice in analyzers if we don't set it here 
-         $http_response_header - =  null;
 
-         return $this->_getResponseFromParts($responseBody, $http_response_header); 
-                     // Add our posted content type 
-                     'header' - =>  "Content-Type: $contentType",
 
-         // set the timeout if specified 
-         if ($timeout - !==  FALSE- &&  $timeout- >  0.0)
 
-             // timeouts with file_get_contents seem to need 
-             // to be halved to work as expected 
-             $timeout - = (float)  $timeout- /  2;
 
-         // $http_response_header will be updated by the call to file_get_contents later 
-         // see http://us.php.net/manual/en/wrappers.http.php for documentation 
-         // Unfortunately, it will still create a notice in analyzers if we don't set it here 
-         $http_response_header - =  null;
 
-         // reset content of post context to reclaim memory 
-         return $this->_getResponseFromParts($responseBody, $http_response_header); 
-     private function _getResponseFromParts($rawResponse, $httpHeaders) 
-         //Assume 0, false as defaults 
-         //iterate through headers for real status, type, and encoding 
-             //look at the first headers for the HTTP status code 
-             //and message (errors are usually returned this way) 
-             //HTTP 100 Continue response can also be returned before 
-             //the REAL status header, so we need look until we find 
-             //the last header starting with HTTP 
-             //the spec: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.1 
-             //Thanks to Daniel Andersson for pointing out this oversight 
-             while (- isset ($httpHeaders[0])- &&  substr($httpHeaders[0], 0, 4)- ==  'HTTP')
 
-                 // we can do a intval on status line without the "HTTP/1.X " to get the code 
-                 // remove this from the headers so we can check for more 
-             //Look for the Content-Type response header and determine type 
-             //and encoding from it (if possible - such as 'Content-Type: text/plain; charset=UTF-8') 
-             foreach ($httpHeaders as $header) 
-                 // look for the header that starts appropriately 
-                     $contentType - =  substr($header, 13);
 
 
	
		Documentation generated on Wed, 04 May 2011 11:01:14 -0400 by phpDocumentor 1.4.3