summaryrefslogtreecommitdiff
path: root/Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/IO/Curl.php
diff options
context:
space:
mode:
Diffstat (limited to 'Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/IO/Curl.php')
-rw-r--r--Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/IO/Curl.php159
1 files changed, 0 insertions, 159 deletions
diff --git a/Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/IO/Curl.php b/Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/IO/Curl.php
deleted file mode 100644
index dd393e4..0000000
--- a/Postman/Postman-Mail/google-api-php-client-1.1.2/src/Google/IO/Curl.php
+++ /dev/null
@@ -1,159 +0,0 @@
-<?php
-/*
- * Copyright 2014 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Curl based implementation of Postman_Google_IO.
- *
- * @author Stuart Langley <slangley@google.com>
- */
-
-require_once realpath(dirname(__FILE__) . '/../../../autoload.php');
-
-class Postman_Google_IO_Curl extends Postman_Google_IO_Abstract
-{
- // cURL hex representation of version 7.30.0
- const NO_QUIRK_VERSION = 0x071E00;
-
- private $options = array();
- /**
- * Execute an HTTP Request
- *
- * @param Postman_Google_HttpRequest $request the http request to be executed
- * @return Postman_Google_HttpRequest http request with the response http code,
- * response headers and response body filled in
- * @throws Postman_Google_IO_Exception on curl or IO error
- */
- public function executeRequest(Postman_Google_Http_Request $request)
- {
- $curl = curl_init();
-
- if ($request->getPostBody()) {
- curl_setopt($curl, CURLOPT_POSTFIELDS, $request->getPostBody());
- }
-
- $requestHeaders = $request->getRequestHeaders();
- if ($requestHeaders && is_array($requestHeaders)) {
- $curlHeaders = array();
- foreach ($requestHeaders as $k => $v) {
- $curlHeaders[] = "$k: $v";
- }
- curl_setopt($curl, CURLOPT_HTTPHEADER, $curlHeaders);
- }
- curl_setopt($curl, CURLOPT_URL, $request->getUrl());
-
- curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $request->getRequestMethod());
- curl_setopt($curl, CURLOPT_USERAGENT, $request->getUserAgent());
-
- curl_setopt($curl, CURLOPT_FOLLOWLOCATION, false);
- curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);
- // 1 is CURL_SSLVERSION_TLSv1, which is not always defined in PHP.
- curl_setopt($curl, CURLOPT_SSLVERSION, 1);
- curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
- curl_setopt($curl, CURLOPT_HEADER, true);
-
- if ($request->canGzip()) {
- curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate');
- }
-
- foreach ($this->options as $key => $var) {
- curl_setopt($curl, $key, $var);
- }
-
- if (!isset($this->options[CURLOPT_CAINFO])) {
- curl_setopt($curl, CURLOPT_CAINFO, dirname(__FILE__) . '/cacerts.pem');
- }
-
- $this->client->getLogger()->debug(
- 'cURL request',
- array(
- 'url' => $request->getUrl(),
- 'method' => $request->getRequestMethod(),
- 'headers' => $requestHeaders,
- 'body' => $request->getPostBody()
- )
- );
-
- $response = curl_exec($curl);
- if ($response === false) {
- $error = curl_error($curl);
-
- $this->client->getLogger()->error('cURL ' . $error);
- throw new Postman_Google_IO_Exception($error);
- }
- $headerSize = curl_getinfo($curl, CURLINFO_HEADER_SIZE);
-
- list($responseHeaders, $responseBody) = $this->parseHttpResponse($response, $headerSize);
- $responseCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);
-
- $this->client->getLogger()->debug(
- 'cURL response',
- array(
- 'code' => $responseCode,
- 'headers' => $responseHeaders,
- 'body' => $responseBody,
- )
- );
-
- return array($responseBody, $responseHeaders, $responseCode);
- }
-
- /**
- * Set options that update the transport implementation's behavior.
- * @param $options
- */
- public function setOptions($options)
- {
- $this->options = $options + $this->options;
- }
-
- /**
- * Set the maximum request time in seconds.
- * @param $timeout in seconds
- */
- public function setTimeout($timeout)
- {
- // Since this timeout is really for putting a bound on the time
- // we'll set them both to the same. If you need to specify a longer
- // CURLOPT_TIMEOUT, or a tigher CONNECTTIMEOUT, the best thing to
- // do is use the setOptions method for the values individually.
- $this->options[CURLOPT_CONNECTTIMEOUT] = $timeout;
- $this->options[CURLOPT_TIMEOUT] = $timeout;
- }
-
- /**
- * Get the maximum request time in seconds.
- * @return timeout in seconds
- */
- public function getTimeout()
- {
- return $this->options[CURLOPT_TIMEOUT];
- }
-
- /**
- * Test for the presence of a cURL header processing bug
- *
- * {@inheritDoc}
- *
- * @return boolean
- */
- protected function needsQuirk()
- {
- $ver = curl_version();
- $versionNum = $ver['version_number'];
- return $versionNum < Postman_Google_IO_Curl::NO_QUIRK_VERSION;
- }
-}