Source for file Curl.php
Documentation is available at Curl.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 Timo Schmidt <timo.schmidt@aoemedia.de>, Donovan Jimenez <djimenez@conduit-it.com>
-
-
-
// Require Apache_Solr_HttpTransport_Abstract
-
require_once(dirname(__FILE__
) .
'/Abstract.php');
-
-
-
* A Curl based HTTP transport. Uses a single curl session for all requests.
-
-
-
-
-
* SVN Revision meta data for this class
-
-
-
-
-
* SVN ID meta data for this class
-
-
-
-
-
-
-
-
-
-
-
-
* Initializes a curl session
-
-
-
-
// initialize a CURL session
-
-
-
// set common options that will not be changed during the session
-
-
// return the response body from curl_exec
-
CURLOPT_RETURNTRANSFER =>
true,
-
-
// get the output as binary data
-
CURLOPT_BINARYTRANSFER =>
true,
-
-
// we do not need the headers in the output, we get everything we need from curl_getinfo
-
-
-
-
-
-
-
-
-
-
// close our curl session
-
-
-
-
-
-
// check the timeout value
-
if ($timeout ===
false ||
$timeout <=
0.0)
-
-
// use the default timeout
-
-
-
-
-
-
// make sure we're returning the body
-
-
-
-
-
-
-
-
-
-
CURLOPT_TIMEOUT =>
$timeout
-
-
-
-
-
-
// get info from the transfer
-
$statusCode =
curl_getinfo($this->_curl, CURLINFO_HTTP_CODE);
-
$contentType =
curl_getinfo($this->_curl, CURLINFO_CONTENT_TYPE);
-
-
-
-
-
-
-
// check the timeout value
-
if ($timeout ===
false ||
$timeout <=
0.0)
-
-
// use the default timeout
-
-
-
-
-
-
// this both sets the method to HEAD and says not to return a body
-
-
-
-
-
-
-
CURLOPT_TIMEOUT =>
$timeout
-
-
-
-
-
-
// get info from the transfer
-
$statusCode =
curl_getinfo($this->_curl, CURLINFO_HTTP_CODE);
-
$contentType =
curl_getinfo($this->_curl, CURLINFO_CONTENT_TYPE);
-
-
-
-
-
-
-
// check the timeout value
-
if ($timeout ===
false ||
$timeout <=
0.0)
-
-
// use the default timeout
-
-
-
-
-
-
// make sure we're returning the body
-
-
-
-
-
-
-
-
-
-
CURLOPT_POSTFIELDS =>
$postData,
-
-
-
CURLOPT_HTTPHEADER =>
array("Content-Type: {$contentType}"),
-
-
-
CURLOPT_TIMEOUT =>
$timeout
-
-
-
-
-
-
// get info from the transfer
-
$statusCode =
curl_getinfo($this->_curl, CURLINFO_HTTP_CODE);
-
$contentType =
curl_getinfo($this->_curl, CURLINFO_CONTENT_TYPE);
-
-
-
-
Documentation generated on Wed, 04 May
2011 11:01:12 -0400 by phpDocumentor
1.4.3