Guzzle is a PHP HTTP client
& framework for building RESTful web service clients.
Guzzle takes the pain out of sending HTTP requests and the redundancy out of creating web service clients. It's - a framework that includes the tools needed to create a robust web service client, including: - Service descriptions for defining the inputs and outputs of an API, resource iterators for traversing - paginated resources, batching for sending a large number of requests as efficiently as possible.
- -<?php -require_once 'vendor/autoload.php'; -use Guzzle\Http\Client; - -// Create a client and provide a base URL -$client = new Client('https://api.github.com'); -// Create a request with basic Auth -$request = $client->get('/user')->setAuth('user', 'pass'); -// Send the request and get the response -$response = $request->send(); -echo $response->getBody(); -// >>> {"type":"User", ... -echo $response->getHeader('Content-Length'); -// >>> 792 -- -
<?php -// Create a client to work with the Twitter API -$client = new Client('https://api.twitter.com/{version}', array( - 'version' => '1.1' -)); - -// Sign all requests with the OauthPlugin -$client->addSubscriber(new Guzzle\Plugin\Oauth\OauthPlugin(array( - 'consumer_key' => '***', - 'consumer_secret' => '***', - 'token' => '***', - 'token_secret' => '***' -))); - -echo $client->get('statuses/user_timeline.json')->send()->getBody(); -// >>> {"public_gists":6,"type":"User" ... - -// Create a tweet using POST -$request = $client->post('statuses/update.json', null, array( - 'status' => 'Tweeted with Guzzle, http://guzzlephp.org' -)); - -// Send the request and parse the JSON response into an array -$data = $request->send()->json(); -echo $data['text']; -// >>> Tweeted with Guzzle, http://t.co/kngJMfRk --
- * var_export($response->getLinks());
- * array(
- * array(
- * 'url' => 'http:/.../front.jpeg',
- * 'rel' => 'back',
- * 'type' => 'image/jpeg',
- * )
- * )
- *
- *
- * @return array
- */
- public function getLinks()
- {
- $links = $this->parseParams();
-
- foreach ($links as &$link) {
- $key = key($link);
- unset($link[$key]);
- $link['url'] = trim($key, '<> ');
- }
-
- return $links;
- }
-}
diff --git a/sites/all/libraries/mailgun/vendor/guzzle/guzzle/src/Guzzle/Http/Message/MessageInterface.php b/sites/all/libraries/mailgun/vendor/guzzle/guzzle/src/Guzzle/Http/Message/MessageInterface.php
deleted file mode 100644
index 62bcd439..00000000
--- a/sites/all/libraries/mailgun/vendor/guzzle/guzzle/src/Guzzle/Http/Message/MessageInterface.php
+++ /dev/null
@@ -1,102 +0,0 @@
-fieldName = $fieldName;
- $this->setFilename($filename);
- $this->postname = $postname ? $postname : basename($filename);
- $this->contentType = $contentType ?: $this->guessContentType();
- }
-
- public function setFieldName($name)
- {
- $this->fieldName = $name;
-
- return $this;
- }
-
- public function getFieldName()
- {
- return $this->fieldName;
- }
-
- public function setFilename($filename)
- {
- // Remove leading @ symbol
- if (strpos($filename, '@') === 0) {
- $filename = substr($filename, 1);
- }
-
- if (!is_readable($filename)) {
- throw new InvalidArgumentException("Unable to open {$filename} for reading");
- }
-
- $this->filename = $filename;
-
- return $this;
- }
-
- public function setPostname($postname)
- {
- $this->postname = $postname;
-
- return $this;
- }
-
- public function getFilename()
- {
- return $this->filename;
- }
-
- public function getPostname()
- {
- return $this->postname;
- }
-
- public function setContentType($type)
- {
- $this->contentType = $type;
-
- return $this;
- }
-
- public function getContentType()
- {
- return $this->contentType;
- }
-
- public function getCurlValue()
- {
- // PHP 5.5 introduced a CurlFile object that deprecates the old @filename syntax
- // See: https://wiki.php.net/rfc/curl-file-upload
- if (function_exists('curl_file_create')) {
- return curl_file_create($this->filename, $this->contentType, $this->postname);
- }
-
- // Use the old style if using an older version of PHP
- $value = "@{$this->filename};filename=" . $this->postname;
- if ($this->contentType) {
- $value .= ';type=' . $this->contentType;
- }
-
- return $value;
- }
-
- /**
- * @deprecated
- * @codeCoverageIgnore
- */
- public function getCurlString()
- {
- Version::warn(__METHOD__ . ' is deprecated. Use getCurlValue()');
- return $this->getCurlValue();
- }
-
- /**
- * Determine the Content-Type of the file
- */
- protected function guessContentType()
- {
- return Mimetypes::getInstance()->fromFilename($this->filename) ?: 'application/octet-stream';
- }
-}
diff --git a/sites/all/libraries/mailgun/vendor/guzzle/guzzle/src/Guzzle/Http/Message/PostFileInterface.php b/sites/all/libraries/mailgun/vendor/guzzle/guzzle/src/Guzzle/Http/Message/PostFileInterface.php
deleted file mode 100644
index 7f0779d1..00000000
--- a/sites/all/libraries/mailgun/vendor/guzzle/guzzle/src/Guzzle/Http/Message/PostFileInterface.php
+++ /dev/null
@@ -1,83 +0,0 @@
-method = strtoupper($method);
- $this->curlOptions = new Collection();
- $this->setUrl($url);
-
- if ($headers) {
- // Special handling for multi-value headers
- foreach ($headers as $key => $value) {
- // Deal with collisions with Host and Authorization
- if ($key == 'host' || $key == 'Host') {
- $this->setHeader($key, $value);
- } elseif ($value instanceof HeaderInterface) {
- $this->addHeader($key, $value);
- } else {
- foreach ((array) $value as $v) {
- $this->addHeader($key, $v);
- }
- }
- }
- }
-
- $this->setState(self::STATE_NEW);
- }
-
- public function __clone()
- {
- if ($this->eventDispatcher) {
- $this->eventDispatcher = clone $this->eventDispatcher;
- }
- $this->curlOptions = clone $this->curlOptions;
- $this->params = clone $this->params;
- $this->url = clone $this->url;
- $this->response = $this->responseBody = null;
- $this->headers = clone $this->headers;
-
- $this->setState(RequestInterface::STATE_NEW);
- $this->dispatch('request.clone', array('request' => $this));
- }
-
- /**
- * Get the HTTP request as a string
- *
- * @return string
- */
- public function __toString()
- {
- return $this->getRawHeaders() . "\r\n\r\n";
- }
-
- /**
- * Default method that will throw exceptions if an unsuccessful response is received.
- *
- * @param Event $event Received
- * @throws BadResponseException if the response is not successful
- */
- public static function onRequestError(Event $event)
- {
- $e = BadResponseException::factory($event['request'], $event['response']);
- $event['request']->setState(self::STATE_ERROR, array('exception' => $e) + $event->toArray());
- throw $e;
- }
-
- public function setClient(ClientInterface $client)
- {
- $this->client = $client;
-
- return $this;
- }
-
- public function getClient()
- {
- return $this->client;
- }
-
- public function getRawHeaders()
- {
- $protocolVersion = $this->protocolVersion ?: '1.1';
-
- return trim($this->method . ' ' . $this->getResource()) . ' '
- . strtoupper(str_replace('https', 'http', $this->url->getScheme()))
- . '/' . $protocolVersion . "\r\n" . implode("\r\n", $this->getHeaderLines());
- }
-
- public function setUrl($url)
- {
- if ($url instanceof Url) {
- $this->url = $url;
- } else {
- $this->url = Url::factory($url);
- }
-
- // Update the port and host header
- $this->setPort($this->url->getPort());
-
- if ($this->url->getUsername() || $this->url->getPassword()) {
- $this->setAuth($this->url->getUsername(), $this->url->getPassword());
- // Remove the auth info from the URL
- $this->url->setUsername(null);
- $this->url->setPassword(null);
- }
-
- return $this;
- }
-
- public function send()
- {
- if (!$this->client) {
- throw new RuntimeException('A client must be set on the request');
- }
-
- return $this->client->send($this);
- }
-
- public function getResponse()
- {
- return $this->response;
- }
-
- public function getQuery($asString = false)
- {
- return $asString
- ? (string) $this->url->getQuery()
- : $this->url->getQuery();
- }
-
- public function getMethod()
- {
- return $this->method;
- }
-
- public function getScheme()
- {
- return $this->url->getScheme();
- }
-
- public function setScheme($scheme)
- {
- $this->url->setScheme($scheme);
-
- return $this;
- }
-
- public function getHost()
- {
- return $this->url->getHost();
- }
-
- public function setHost($host)
- {
- $this->url->setHost($host);
- $this->setPort($this->url->getPort());
-
- return $this;
- }
-
- public function getProtocolVersion()
- {
- return $this->protocolVersion;
- }
-
- public function setProtocolVersion($protocol)
- {
- $this->protocolVersion = $protocol;
-
- return $this;
- }
-
- public function getPath()
- {
- return '/' . ltrim($this->url->getPath(), '/');
- }
-
- public function setPath($path)
- {
- $this->url->setPath($path);
-
- return $this;
- }
-
- public function getPort()
- {
- return $this->url->getPort();
- }
-
- public function setPort($port)
- {
- $this->url->setPort($port);
-
- // Include the port in the Host header if it is not the default port for the scheme of the URL
- $scheme = $this->url->getScheme();
- if ($port && (($scheme == 'http' && $port != 80) || ($scheme == 'https' && $port != 443))) {
- $this->headers['host'] = $this->headerFactory->createHeader('Host', $this->url->getHost() . ':' . $port);
- } else {
- $this->headers['host'] = $this->headerFactory->createHeader('Host', $this->url->getHost());
- }
-
- return $this;
- }
-
- public function getUsername()
- {
- return $this->username;
- }
-
- public function getPassword()
- {
- return $this->password;
- }
-
- public function setAuth($user, $password = '', $scheme = CURLAUTH_BASIC)
- {
- static $authMap = array(
- 'basic' => CURLAUTH_BASIC,
- 'digest' => CURLAUTH_DIGEST,
- 'ntlm' => CURLAUTH_NTLM,
- 'any' => CURLAUTH_ANY
- );
-
- // If we got false or null, disable authentication
- if (!$user) {
- $this->password = $this->username = null;
- $this->removeHeader('Authorization');
- $this->getCurlOptions()->remove(CURLOPT_HTTPAUTH);
- return $this;
- }
-
- if (!is_numeric($scheme)) {
- $scheme = strtolower($scheme);
- if (!isset($authMap[$scheme])) {
- throw new InvalidArgumentException($scheme . ' is not a valid authentication type');
- }
- $scheme = $authMap[$scheme];
- }
-
- $this->username = $user;
- $this->password = $password;
-
- // Bypass CURL when using basic auth to promote connection reuse
- if ($scheme == CURLAUTH_BASIC) {
- $this->getCurlOptions()->remove(CURLOPT_HTTPAUTH);
- $this->setHeader('Authorization', 'Basic ' . base64_encode($this->username . ':' . $this->password));
- } else {
- $this->getCurlOptions()
- ->set(CURLOPT_HTTPAUTH, $scheme)
- ->set(CURLOPT_USERPWD, $this->username . ':' . $this->password);
- }
-
- return $this;
- }
-
- public function getResource()
- {
- $resource = $this->getPath();
- if ($query = (string) $this->url->getQuery()) {
- $resource .= '?' . $query;
- }
-
- return $resource;
- }
-
- public function getUrl($asObject = false)
- {
- return $asObject ? clone $this->url : (string) $this->url;
- }
-
- public function getState()
- {
- return $this->state;
- }
-
- public function setState($state, array $context = array())
- {
- $oldState = $this->state;
- $this->state = $state;
-
- switch ($state) {
- case self::STATE_NEW:
- $this->response = null;
- break;
- case self::STATE_TRANSFER:
- if ($oldState !== $state) {
- // Fix Content-Length and Transfer-Encoding collisions
- if ($this->hasHeader('Transfer-Encoding') && $this->hasHeader('Content-Length')) {
- $this->removeHeader('Transfer-Encoding');
- }
- $this->dispatch('request.before_send', array('request' => $this));
- }
- break;
- case self::STATE_COMPLETE:
- if ($oldState !== $state) {
- $this->processResponse($context);
- $this->responseBody = null;
- }
- break;
- case self::STATE_ERROR:
- if (isset($context['exception'])) {
- $this->dispatch('request.exception', array(
- 'request' => $this,
- 'response' => isset($context['response']) ? $context['response'] : $this->response,
- 'exception' => isset($context['exception']) ? $context['exception'] : null
- ));
- }
- }
-
- return $this->state;
- }
-
- public function getCurlOptions()
- {
- return $this->curlOptions;
- }
-
- public function startResponse(Response $response)
- {
- $this->state = self::STATE_TRANSFER;
- $response->setEffectiveUrl((string) $this->getUrl());
- $this->response = $response;
-
- return $this;
- }
-
- public function setResponse(Response $response, $queued = false)
- {
- $response->setEffectiveUrl((string) $this->url);
-
- if ($queued) {
- $ed = $this->getEventDispatcher();
- $ed->addListener('request.before_send', $f = function ($e) use ($response, &$f, $ed) {
- $e['request']->setResponse($response);
- $ed->removeListener('request.before_send', $f);
- }, -9999);
- } else {
- $this->response = $response;
- // If a specific response body is specified, then use it instead of the response's body
- if ($this->responseBody && !$this->responseBody->getCustomData('default') && !$response->isRedirect()) {
- $this->getResponseBody()->write((string) $this->response->getBody());
- } else {
- $this->responseBody = $this->response->getBody();
- }
- $this->setState(self::STATE_COMPLETE);
- }
-
- return $this;
- }
-
- public function setResponseBody($body)
- {
- // Attempt to open a file for writing if a string was passed
- if (is_string($body)) {
- // @codeCoverageIgnoreStart
- if (!($body = fopen($body, 'w+'))) {
- throw new InvalidArgumentException('Could not open ' . $body . ' for writing');
- }
- // @codeCoverageIgnoreEnd
- }
-
- $this->responseBody = EntityBody::factory($body);
-
- return $this;
- }
-
- public function getResponseBody()
- {
- if ($this->responseBody === null) {
- $this->responseBody = EntityBody::factory()->setCustomData('default', true);
- }
-
- return $this->responseBody;
- }
-
- /**
- * Determine if the response body is repeatable (readable + seekable)
- *
- * @return bool
- * @deprecated Use getResponseBody()->isSeekable()
- * @codeCoverageIgnore
- */
- public function isResponseBodyRepeatable()
- {
- Version::warn(__METHOD__ . ' is deprecated. Use $request->getResponseBody()->isRepeatable()');
- return !$this->responseBody ? true : $this->responseBody->isRepeatable();
- }
-
- public function getCookies()
- {
- if ($cookie = $this->getHeader('Cookie')) {
- $data = ParserRegistry::getInstance()->getParser('cookie')->parseCookie($cookie);
- return $data['cookies'];
- }
-
- return array();
- }
-
- public function getCookie($name)
- {
- $cookies = $this->getCookies();
-
- return isset($cookies[$name]) ? $cookies[$name] : null;
- }
-
- public function addCookie($name, $value)
- {
- if (!$this->hasHeader('Cookie')) {
- $this->setHeader('Cookie', "{$name}={$value}");
- } else {
- $this->getHeader('Cookie')->add("{$name}={$value}");
- }
-
- // Always use semicolons to separate multiple cookie headers
- $this->getHeader('Cookie')->setGlue(';');
-
- return $this;
- }
-
- public function removeCookie($name)
- {
- if ($cookie = $this->getHeader('Cookie')) {
- foreach ($cookie as $cookieValue) {
- if (strpos($cookieValue, $name . '=') === 0) {
- $cookie->removeValue($cookieValue);
- }
- }
- }
-
- return $this;
- }
-
- public function setEventDispatcher(EventDispatcherInterface $eventDispatcher)
- {
- $this->eventDispatcher = $eventDispatcher;
- $this->eventDispatcher->addListener('request.error', array(__CLASS__, 'onRequestError'), -255);
-
- return $this;
- }
-
- public function getEventDispatcher()
- {
- if (!$this->eventDispatcher) {
- $this->setEventDispatcher(new EventDispatcher());
- }
-
- return $this->eventDispatcher;
- }
-
- public function dispatch($eventName, array $context = array())
- {
- $context['request'] = $this;
-
- return $this->getEventDispatcher()->dispatch($eventName, new Event($context));
- }
-
- public function addSubscriber(EventSubscriberInterface $subscriber)
- {
- $this->getEventDispatcher()->addSubscriber($subscriber);
-
- return $this;
- }
-
- /**
- * Get an array containing the request and response for event notifications
- *
- * @return array
- */
- protected function getEventArray()
- {
- return array(
- 'request' => $this,
- 'response' => $this->response
- );
- }
-
- /**
- * Process a received response
- *
- * @param array $context Contextual information
- * @throws RequestException|BadResponseException on unsuccessful responses
- */
- protected function processResponse(array $context = array())
- {
- if (!$this->response) {
- // If no response, then processResponse shouldn't have been called
- $e = new RequestException('Error completing request');
- $e->setRequest($this);
- throw $e;
- }
-
- $this->state = self::STATE_COMPLETE;
-
- // A request was sent, but we don't know if we'll send more or if the final response will be successful
- $this->dispatch('request.sent', $this->getEventArray() + $context);
-
- // Some response processors will remove the response or reset the state (example: ExponentialBackoffPlugin)
- if ($this->state == RequestInterface::STATE_COMPLETE) {
-
- // The request completed, so the HTTP transaction is complete
- $this->dispatch('request.complete', $this->getEventArray());
-
- // If the response is bad, allow listeners to modify it or throw exceptions. You can change the response by
- // modifying the Event object in your listeners or calling setResponse() on the request
- if ($this->response->isError()) {
- $event = new Event($this->getEventArray());
- $this->getEventDispatcher()->dispatch('request.error', $event);
- // Allow events of request.error to quietly change the response
- if ($event['response'] !== $this->response) {
- $this->response = $event['response'];
- }
- }
-
- // If a successful response was received, dispatch an event
- if ($this->response->isSuccessful()) {
- $this->dispatch('request.success', $this->getEventArray());
- }
- }
- }
-
- /**
- * @deprecated Use Guzzle\Plugin\Cache\DefaultCanCacheStrategy
- * @codeCoverageIgnore
- */
- public function canCache()
- {
- Version::warn(__METHOD__ . ' is deprecated. Use Guzzle\Plugin\Cache\DefaultCanCacheStrategy.');
- if (class_exists('Guzzle\Plugin\Cache\DefaultCanCacheStrategy')) {
- $canCache = new \Guzzle\Plugin\Cache\DefaultCanCacheStrategy();
- return $canCache->canCacheRequest($this);
- } else {
- return false;
- }
- }
-
- /**
- * @deprecated Use the history plugin (not emitting a warning as this is built-into the RedirectPlugin for now)
- * @codeCoverageIgnore
- */
- public function setIsRedirect($isRedirect)
- {
- $this->isRedirect = $isRedirect;
-
- return $this;
- }
-
- /**
- * @deprecated Use the history plugin
- * @codeCoverageIgnore
- */
- public function isRedirect()
- {
- Version::warn(__METHOD__ . ' is deprecated. Use the HistoryPlugin to track this.');
- return $this->isRedirect;
- }
-}
diff --git a/sites/all/libraries/mailgun/vendor/guzzle/guzzle/src/Guzzle/Http/Message/RequestFactory.php b/sites/all/libraries/mailgun/vendor/guzzle/guzzle/src/Guzzle/Http/Message/RequestFactory.php
deleted file mode 100644
index ba00a767..00000000
--- a/sites/all/libraries/mailgun/vendor/guzzle/guzzle/src/Guzzle/Http/Message/RequestFactory.php
+++ /dev/null
@@ -1,359 +0,0 @@
-methods = array_flip(get_class_methods(__CLASS__));
- }
-
- public function fromMessage($message)
- {
- $parsed = ParserRegistry::getInstance()->getParser('message')->parseRequest($message);
-
- if (!$parsed) {
- return false;
- }
-
- $request = $this->fromParts($parsed['method'], $parsed['request_url'],
- $parsed['headers'], $parsed['body'], $parsed['protocol'],
- $parsed['version']);
-
- // EntityEnclosingRequest adds an "Expect: 100-Continue" header when using a raw request body for PUT or POST
- // requests. This factory method should accurately reflect the message, so here we are removing the Expect
- // header if one was not supplied in the message.
- if (!isset($parsed['headers']['Expect']) && !isset($parsed['headers']['expect'])) {
- $request->removeHeader('Expect');
- }
-
- return $request;
- }
-
- public function fromParts(
- $method,
- array $urlParts,
- $headers = null,
- $body = null,
- $protocol = 'HTTP',
- $protocolVersion = '1.1'
- ) {
- return $this->create($method, Url::buildUrl($urlParts), $headers, $body)
- ->setProtocolVersion($protocolVersion);
- }
-
- public function create($method, $url, $headers = null, $body = null, array $options = array())
- {
- $method = strtoupper($method);
-
- if ($method == 'GET' || $method == 'HEAD' || $method == 'TRACE') {
- // Handle non-entity-enclosing request methods
- $request = new $this->requestClass($method, $url, $headers);
- if ($body) {
- // The body is where the response body will be stored
- $type = gettype($body);
- if ($type == 'string' || $type == 'resource' || $type == 'object') {
- $request->setResponseBody($body);
- }
- }
- } else {
- // Create an entity enclosing request by default
- $request = new $this->entityEnclosingRequestClass($method, $url, $headers);
- if ($body || $body === '0') {
- // Add POST fields and files to an entity enclosing request if an array is used
- if (is_array($body) || $body instanceof Collection) {
- // Normalize PHP style cURL uploads with a leading '@' symbol
- foreach ($body as $key => $value) {
- if (is_string($value) && substr($value, 0, 1) == '@') {
- $request->addPostFile($key, $value);
- unset($body[$key]);
- }
- }
- // Add the fields if they are still present and not all files
- $request->addPostFields($body);
- } else {
- // Add a raw entity body body to the request
- $request->setBody($body, (string) $request->getHeader('Content-Type'));
- if ((string) $request->getHeader('Transfer-Encoding') == 'chunked') {
- $request->removeHeader('Content-Length');
- }
- }
- }
- }
-
- if ($options) {
- $this->applyOptions($request, $options);
- }
-
- return $request;
- }
-
- /**
- * Clone a request while changing the method. Emulates the behavior of
- * {@see Guzzle\Http\Message\Request::clone}, but can change the HTTP method.
- *
- * @param RequestInterface $request Request to clone
- * @param string $method Method to set
- *
- * @return RequestInterface
- */
- public function cloneRequestWithMethod(RequestInterface $request, $method)
- {
- // Create the request with the same client if possible
- if ($request->getClient()) {
- $cloned = $request->getClient()->createRequest($method, $request->getUrl(), $request->getHeaders());
- } else {
- $cloned = $this->create($method, $request->getUrl(), $request->getHeaders());
- }
-
- $cloned->getCurlOptions()->replace($request->getCurlOptions()->toArray());
- $cloned->setEventDispatcher(clone $request->getEventDispatcher());
- // Ensure that that the Content-Length header is not copied if changing to GET or HEAD
- if (!($cloned instanceof EntityEnclosingRequestInterface)) {
- $cloned->removeHeader('Content-Length');
- } elseif ($request instanceof EntityEnclosingRequestInterface) {
- $cloned->setBody($request->getBody());
- }
- $cloned->getParams()->replace($request->getParams()->toArray());
- $cloned->dispatch('request.clone', array('request' => $cloned));
-
- return $cloned;
- }
-
- public function applyOptions(RequestInterface $request, array $options = array(), $flags = self::OPTIONS_NONE)
- {
- // Iterate over each key value pair and attempt to apply a config using function visitors
- foreach ($options as $key => $value) {
- $method = "visit_{$key}";
- if (isset($this->methods[$method])) {
- $this->{$method}($request, $value, $flags);
- }
- }
- }
-
- protected function visit_headers(RequestInterface $request, $value, $flags)
- {
- if (!is_array($value)) {
- throw new InvalidArgumentException('headers value must be an array');
- }
-
- if ($flags & self::OPTIONS_AS_DEFAULTS) {
- // Merge headers in but do not overwrite existing values
- foreach ($value as $key => $header) {
- if (!$request->hasHeader($key)) {
- $request->setHeader($key, $header);
- }
- }
- } else {
- $request->addHeaders($value);
- }
- }
-
- protected function visit_body(RequestInterface $request, $value, $flags)
- {
- if ($request instanceof EntityEnclosingRequestInterface) {
- $request->setBody($value);
- } else {
- throw new InvalidArgumentException('Attempting to set a body on a non-entity-enclosing request');
- }
- }
-
- protected function visit_allow_redirects(RequestInterface $request, $value, $flags)
- {
- if ($value === false) {
- $request->getParams()->set(RedirectPlugin::DISABLE, true);
- }
- }
-
- protected function visit_auth(RequestInterface $request, $value, $flags)
- {
- if (!is_array($value)) {
- throw new InvalidArgumentException('auth value must be an array');
- }
-
- $request->setAuth($value[0], isset($value[1]) ? $value[1] : null, isset($value[2]) ? $value[2] : 'basic');
- }
-
- protected function visit_query(RequestInterface $request, $value, $flags)
- {
- if (!is_array($value)) {
- throw new InvalidArgumentException('query value must be an array');
- }
-
- if ($flags & self::OPTIONS_AS_DEFAULTS) {
- // Merge query string values in but do not overwrite existing values
- $query = $request->getQuery();
- $query->overwriteWith(array_diff_key($value, $query->toArray()));
- } else {
- $request->getQuery()->overwriteWith($value);
- }
- }
-
- protected function visit_cookies(RequestInterface $request, $value, $flags)
- {
- if (!is_array($value)) {
- throw new InvalidArgumentException('cookies value must be an array');
- }
-
- foreach ($value as $name => $v) {
- $request->addCookie($name, $v);
- }
- }
-
- protected function visit_events(RequestInterface $request, $value, $flags)
- {
- if (!is_array($value)) {
- throw new InvalidArgumentException('events value must be an array');
- }
-
- foreach ($value as $name => $method) {
- if (is_array($method)) {
- $request->getEventDispatcher()->addListener($name, $method[0], $method[1]);
- } else {
- $request->getEventDispatcher()->addListener($name, $method);
- }
- }
- }
-
- protected function visit_plugins(RequestInterface $request, $value, $flags)
- {
- if (!is_array($value)) {
- throw new InvalidArgumentException('plugins value must be an array');
- }
-
- foreach ($value as $plugin) {
- $request->addSubscriber($plugin);
- }
- }
-
- protected function visit_exceptions(RequestInterface $request, $value, $flags)
- {
- if ($value === false || $value === 0) {
- $dispatcher = $request->getEventDispatcher();
- foreach ($dispatcher->getListeners('request.error') as $listener) {
- if (is_array($listener) && $listener[0] == 'Guzzle\Http\Message\Request' && $listener[1] = 'onRequestError') {
- $dispatcher->removeListener('request.error', $listener);
- break;
- }
- }
- }
- }
-
- protected function visit_save_to(RequestInterface $request, $value, $flags)
- {
- $request->setResponseBody($value);
- }
-
- protected function visit_params(RequestInterface $request, $value, $flags)
- {
- if (!is_array($value)) {
- throw new InvalidArgumentException('params value must be an array');
- }
-
- $request->getParams()->overwriteWith($value);
- }
-
- protected function visit_timeout(RequestInterface $request, $value, $flags)
- {
- if (defined('CURLOPT_TIMEOUT_MS')) {
- $request->getCurlOptions()->set(CURLOPT_TIMEOUT_MS, $value * 1000);
- } else {
- $request->getCurlOptions()->set(CURLOPT_TIMEOUT, $value);
- }
- }
-
- protected function visit_connect_timeout(RequestInterface $request, $value, $flags)
- {
- if (defined('CURLOPT_CONNECTTIMEOUT_MS')) {
- $request->getCurlOptions()->set(CURLOPT_CONNECTTIMEOUT_MS, $value * 1000);
- } else {
- $request->getCurlOptions()->set(CURLOPT_CONNECTTIMEOUT, $value);
- }
- }
-
- protected function visit_debug(RequestInterface $request, $value, $flags)
- {
- if ($value) {
- $request->getCurlOptions()->set(CURLOPT_VERBOSE, true);
- }
- }
-
- protected function visit_verify(RequestInterface $request, $value, $flags)
- {
- $curl = $request->getCurlOptions();
- if ($value === true || is_string($value)) {
- $curl[CURLOPT_SSL_VERIFYHOST] = 2;
- $curl[CURLOPT_SSL_VERIFYPEER] = true;
- if ($value !== true) {
- $curl[CURLOPT_CAINFO] = $value;
- }
- } elseif ($value === false) {
- unset($curl[CURLOPT_CAINFO]);
- $curl[CURLOPT_SSL_VERIFYHOST] = 0;
- $curl[CURLOPT_SSL_VERIFYPEER] = false;
- }
- }
-
- protected function visit_proxy(RequestInterface $request, $value, $flags)
- {
- $request->getCurlOptions()->set(CURLOPT_PROXY, $value, $flags);
- }
-
- protected function visit_cert(RequestInterface $request, $value, $flags)
- {
- if (is_array($value)) {
- $request->getCurlOptions()->set(CURLOPT_SSLCERT, $value[0]);
- $request->getCurlOptions()->set(CURLOPT_SSLCERTPASSWD, $value[1]);
- } else {
- $request->getCurlOptions()->set(CURLOPT_SSLCERT, $value);
- }
- }
-
- protected function visit_ssl_key(RequestInterface $request, $value, $flags)
- {
- if (is_array($value)) {
- $request->getCurlOptions()->set(CURLOPT_SSLKEY, $value[0]);
- $request->getCurlOptions()->set(CURLOPT_SSLKEYPASSWD, $value[1]);
- } else {
- $request->getCurlOptions()->set(CURLOPT_SSLKEY, $value);
- }
- }
-}
diff --git a/sites/all/libraries/mailgun/vendor/guzzle/guzzle/src/Guzzle/Http/Message/RequestFactoryInterface.php b/sites/all/libraries/mailgun/vendor/guzzle/guzzle/src/Guzzle/Http/Message/RequestFactoryInterface.php
deleted file mode 100644
index 6088f10e..00000000
--- a/sites/all/libraries/mailgun/vendor/guzzle/guzzle/src/Guzzle/Http/Message/RequestFactoryInterface.php
+++ /dev/null
@@ -1,105 +0,0 @@
- 'Continue',
- 101 => 'Switching Protocols',
- 102 => 'Processing',
- 200 => 'OK',
- 201 => 'Created',
- 202 => 'Accepted',
- 203 => 'Non-Authoritative Information',
- 204 => 'No Content',
- 205 => 'Reset Content',
- 206 => 'Partial Content',
- 207 => 'Multi-Status',
- 208 => 'Already Reported',
- 226 => 'IM Used',
- 300 => 'Multiple Choices',
- 301 => 'Moved Permanently',
- 302 => 'Found',
- 303 => 'See Other',
- 304 => 'Not Modified',
- 305 => 'Use Proxy',
- 307 => 'Temporary Redirect',
- 308 => 'Permanent Redirect',
- 400 => 'Bad Request',
- 401 => 'Unauthorized',
- 402 => 'Payment Required',
- 403 => 'Forbidden',
- 404 => 'Not Found',
- 405 => 'Method Not Allowed',
- 406 => 'Not Acceptable',
- 407 => 'Proxy Authentication Required',
- 408 => 'Request Timeout',
- 409 => 'Conflict',
- 410 => 'Gone',
- 411 => 'Length Required',
- 412 => 'Precondition Failed',
- 413 => 'Request Entity Too Large',
- 414 => 'Request-URI Too Long',
- 415 => 'Unsupported Media Type',
- 416 => 'Requested Range Not Satisfiable',
- 417 => 'Expectation Failed',
- 422 => 'Unprocessable Entity',
- 423 => 'Locked',
- 424 => 'Failed Dependency',
- 425 => 'Reserved for WebDAV advanced collections expired proposal',
- 426 => 'Upgrade required',
- 428 => 'Precondition Required',
- 429 => 'Too Many Requests',
- 431 => 'Request Header Fields Too Large',
- 500 => 'Internal Server Error',
- 501 => 'Not Implemented',
- 502 => 'Bad Gateway',
- 503 => 'Service Unavailable',
- 504 => 'Gateway Timeout',
- 505 => 'HTTP Version Not Supported',
- 506 => 'Variant Also Negotiates (Experimental)',
- 507 => 'Insufficient Storage',
- 508 => 'Loop Detected',
- 510 => 'Not Extended',
- 511 => 'Network Authentication Required',
- );
-
- /** @var EntityBodyInterface The response body */
- protected $body;
-
- /** @var string The reason phrase of the response (human readable code) */
- protected $reasonPhrase;
-
- /** @var string The status code of the response */
- protected $statusCode;
-
- /** @var array Information about the request */
- protected $info = array();
-
- /** @var string The effective URL that returned this response */
- protected $effectiveUrl;
-
- /** @var array Cacheable response codes (see RFC 2616:13.4) */
- protected static $cacheResponseCodes = array(200, 203, 206, 300, 301, 410);
-
- /**
- * Create a new Response based on a raw response message
- *
- * @param string $message Response message
- *
- * @return self|bool Returns false on error
- */
- public static function fromMessage($message)
- {
- $data = ParserRegistry::getInstance()->getParser('message')->parseResponse($message);
- if (!$data) {
- return false;
- }
-
- $response = new static($data['code'], $data['headers'], $data['body']);
- $response->setProtocol($data['protocol'], $data['version'])
- ->setStatus($data['code'], $data['reason_phrase']);
-
- // Set the appropriate Content-Length if the one set is inaccurate (e.g. setting to X)
- $contentLength = (string) $response->getHeader('Content-Length');
- $actualLength = strlen($data['body']);
- if (strlen($data['body']) > 0 && $contentLength != $actualLength) {
- $response->setHeader('Content-Length', $actualLength);
- }
-
- return $response;
- }
-
- /**
- * Construct the response
- *
- * @param string $statusCode The response status code (e.g. 200, 404, etc)
- * @param ToArrayInterface|array $headers The response headers
- * @param string|resource|EntityBodyInterface $body The body of the response
- *
- * @throws BadResponseException if an invalid response code is given
- */
- public function __construct($statusCode, $headers = null, $body = null)
- {
- parent::__construct();
- $this->setStatus($statusCode);
- $this->body = EntityBody::factory($body !== null ? $body : '');
-
- if ($headers) {
- if (is_array($headers)) {
- $this->setHeaders($headers);
- } elseif ($headers instanceof ToArrayInterface) {
- $this->setHeaders($headers->toArray());
- } else {
- throw new BadResponseException('Invalid headers argument received');
- }
- }
- }
-
- /**
- * @return string
- */
- public function __toString()
- {
- return $this->getMessage();
- }
-
- public function serialize()
- {
- return json_encode(array(
- 'status' => $this->statusCode,
- 'body' => (string) $this->body,
- 'headers' => $this->headers->toArray()
- ));
- }
-
- public function unserialize($serialize)
- {
- $data = json_decode($serialize, true);
- $this->__construct($data['status'], $data['headers'], $data['body']);
- }
-
- /**
- * Get the response entity body
- *
- * @param bool $asString Set to TRUE to return a string of the body rather than a full body object
- *
- * @return EntityBodyInterface|string
- */
- public function getBody($asString = false)
- {
- return $asString ? (string) $this->body : $this->body;
- }
-
- /**
- * Set the response entity body
- *
- * @param EntityBodyInterface|string $body Body to set
- *
- * @return self
- */
- public function setBody($body)
- {
- $this->body = EntityBody::factory($body);
-
- return $this;
- }
-
- /**
- * Set the protocol and protocol version of the response
- *
- * @param string $protocol Response protocol
- * @param string $version Protocol version
- *
- * @return self
- */
- public function setProtocol($protocol, $version)
- {
- $this->protocol = $protocol;
- $this->protocolVersion = $version;
-
- return $this;
- }
-
- /**
- * Get the protocol used for the response (e.g. HTTP)
- *
- * @return string
- */
- public function getProtocol()
- {
- return $this->protocol;
- }
-
- /**
- * Get the HTTP protocol version
- *
- * @return string
- */
- public function getProtocolVersion()
- {
- return $this->protocolVersion;
- }
-
- /**
- * Get a cURL transfer information
- *
- * @param string $key A single statistic to check
- *
- * @return array|string|null Returns all stats if no key is set, a single stat if a key is set, or null if a key
- * is set and not found
- * @link http://www.php.net/manual/en/function.curl-getinfo.php
- */
- public function getInfo($key = null)
- {
- if ($key === null) {
- return $this->info;
- } elseif (array_key_exists($key, $this->info)) {
- return $this->info[$key];
- } else {
- return null;
- }
- }
-
- /**
- * Set the transfer information
- *
- * @param array $info Array of cURL transfer stats
- *
- * @return self
- */
- public function setInfo(array $info)
- {
- $this->info = $info;
-
- return $this;
- }
-
- /**
- * Set the response status
- *
- * @param int $statusCode Response status code to set
- * @param string $reasonPhrase Response reason phrase
- *
- * @return self
- * @throws BadResponseException when an invalid response code is received
- */
- public function setStatus($statusCode, $reasonPhrase = '')
- {
- $this->statusCode = (int) $statusCode;
-
- if (!$reasonPhrase && isset(self::$statusTexts[$this->statusCode])) {
- $this->reasonPhrase = self::$statusTexts[$this->statusCode];
- } else {
- $this->reasonPhrase = $reasonPhrase;
- }
-
- return $this;
- }
-
- /**
- * Get the response status code
- *
- * @return integer
- */
- public function getStatusCode()
- {
- return $this->statusCode;
- }
-
- /**
- * Get the entire response as a string
- *
- * @return string
- */
- public function getMessage()
- {
- $message = $this->getRawHeaders();
-
- // Only include the body in the message if the size is < 2MB
- $size = $this->body->getSize();
- if ($size < 2097152) {
- $message .= (string) $this->body;
- }
-
- return $message;
- }
-
- /**
- * Get the the raw message headers as a string
- *
- * @return string
- */
- public function getRawHeaders()
- {
- $headers = 'HTTP/1.1 ' . $this->statusCode . ' ' . $this->reasonPhrase . "\r\n";
- $lines = $this->getHeaderLines();
- if (!empty($lines)) {
- $headers .= implode("\r\n", $lines) . "\r\n";
- }
-
- return $headers . "\r\n";
- }
-
- /**
- * Get the response reason phrase- a human readable version of the numeric
- * status code
- *
- * @return string
- */
- public function getReasonPhrase()
- {
- return $this->reasonPhrase;
- }
-
- /**
- * Get the Accept-Ranges HTTP header
- *
- * @return string Returns what partial content range types this server supports.
- */
- public function getAcceptRanges()
- {
- return (string) $this->getHeader('Accept-Ranges');
- }
-
- /**
- * Calculate the age of the response
- *
- * @return integer
- */
- public function calculateAge()
- {
- $age = $this->getHeader('Age');
-
- if ($age === null && $this->getDate()) {
- $age = time() - strtotime($this->getDate());
- }
-
- return $age === null ? null : (int) (string) $age;
- }
-
- /**
- * Get the Age HTTP header
- *
- * @return integer|null Returns the age the object has been in a proxy cache in seconds.
- */
- public function getAge()
- {
- return (string) $this->getHeader('Age');
- }
-
- /**
- * Get the Allow HTTP header
- *
- * @return string|null Returns valid actions for a specified resource. To be used for a 405 Method not allowed.
- */
- public function getAllow()
- {
- return (string) $this->getHeader('Allow');
- }
-
- /**
- * Check if an HTTP method is allowed by checking the Allow response header
- *
- * @param string $method Method to check
- *
- * @return bool
- */
- public function isMethodAllowed($method)
- {
- $allow = $this->getHeader('Allow');
- if ($allow) {
- foreach (explode(',', $allow) as $allowable) {
- if (!strcasecmp(trim($allowable), $method)) {
- return true;
- }
- }
- }
-
- return false;
- }
-
- /**
- * Get the Cache-Control HTTP header
- *
- * @return string
- */
- public function getCacheControl()
- {
- return (string) $this->getHeader('Cache-Control');
- }
-
- /**
- * Get the Connection HTTP header
- *
- * @return string
- */
- public function getConnection()
- {
- return (string) $this->getHeader('Connection');
- }
-
- /**
- * Get the Content-Encoding HTTP header
- *
- * @return string|null
- */
- public function getContentEncoding()
- {
- return (string) $this->getHeader('Content-Encoding');
- }
-
- /**
- * Get the Content-Language HTTP header
- *
- * @return string|null Returns the language the content is in.
- */
- public function getContentLanguage()
- {
- return (string) $this->getHeader('Content-Language');
- }
-
- /**
- * Get the Content-Length HTTP header
- *
- * @return integer Returns the length of the response body in bytes
- */
- public function getContentLength()
- {
- return (int) (string) $this->getHeader('Content-Length');
- }
-
- /**
- * Get the Content-Location HTTP header
- *
- * @return string|null Returns an alternate location for the returned data (e.g /index.htm)
- */
- public function getContentLocation()
- {
- return (string) $this->getHeader('Content-Location');
- }
-
- /**
- * Get the Content-Disposition HTTP header
- *
- * @return string|null Returns the Content-Disposition header
- */
- public function getContentDisposition()
- {
- return (string) $this->getHeader('Content-Disposition');
- }
-
- /**
- * Get the Content-MD5 HTTP header
- *
- * @return string|null Returns a Base64-encoded binary MD5 sum of the content of the response.
- */
- public function getContentMd5()
- {
- return (string) $this->getHeader('Content-MD5');
- }
-
- /**
- * Get the Content-Range HTTP header
- *
- * @return string Returns where in a full body message this partial message belongs (e.g. bytes 21010-47021/47022).
- */
- public function getContentRange()
- {
- return (string) $this->getHeader('Content-Range');
- }
-
- /**
- * Get the Content-Type HTTP header
- *
- * @return string Returns the mime type of this content.
- */
- public function getContentType()
- {
- return (string) $this->getHeader('Content-Type');
- }
-
- /**
- * Checks if the Content-Type is of a certain type. This is useful if the
- * Content-Type header contains charset information and you need to know if
- * the Content-Type matches a particular type.
- *
- * @param string $type Content type to check against
- *
- * @return bool
- */
- public function isContentType($type)
- {
- return stripos($this->getHeader('Content-Type'), $type) !== false;
- }
-
- /**
- * Get the Date HTTP header
- *
- * @return string|null Returns the date and time that the message was sent.
- */
- public function getDate()
- {
- return (string) $this->getHeader('Date');
- }
-
- /**
- * Get the ETag HTTP header
- *
- * @return string|null Returns an identifier for a specific version of a resource, often a Message digest.
- */
- public function getEtag()
- {
- return (string) $this->getHeader('ETag');
- }
-
- /**
- * Get the Expires HTTP header
- *
- * @return string|null Returns the date/time after which the response is considered stale.
- */
- public function getExpires()
- {
- return (string) $this->getHeader('Expires');
- }
-
- /**
- * Get the Last-Modified HTTP header
- *
- * @return string|null Returns the last modified date for the requested object, in RFC 2822 format
- * (e.g. Tue, 15 Nov 1994 12:45:26 GMT)
- */
- public function getLastModified()
- {
- return (string) $this->getHeader('Last-Modified');
- }
-
- /**
- * Get the Location HTTP header
- *
- * @return string|null Used in redirection, or when a new resource has been created.
- */
- public function getLocation()
- {
- return (string) $this->getHeader('Location');
- }
-
- /**
- * Get the Pragma HTTP header
- *
- * @return Header|null Returns the implementation-specific headers that may have various effects anywhere along
- * the request-response chain.
- */
- public function getPragma()
- {
- return (string) $this->getHeader('Pragma');
- }
-
- /**
- * Get the Proxy-Authenticate HTTP header
- *
- * @return string|null Authentication to access the proxy (e.g. Basic)
- */
- public function getProxyAuthenticate()
- {
- return (string) $this->getHeader('Proxy-Authenticate');
- }
-
- /**
- * Get the Retry-After HTTP header
- *
- * @return int|null If an entity is temporarily unavailable, this instructs the client to try again after a
- * specified period of time.
- */
- public function getRetryAfter()
- {
- return (string) $this->getHeader('Retry-After');
- }
-
- /**
- * Get the Server HTTP header
- *
- * @return string|null A name for the server
- */
- public function getServer()
- {
- return (string) $this->getHeader('Server');
- }
-
- /**
- * Get the Set-Cookie HTTP header
- *
- * @return string|null An HTTP cookie.
- */
- public function getSetCookie()
- {
- return (string) $this->getHeader('Set-Cookie');
- }
-
- /**
- * Get the Trailer HTTP header
- *
- * @return string|null The Trailer general field value indicates that the given set of header fields is present in
- * the trailer of a message encoded with chunked transfer-coding.
- */
- public function getTrailer()
- {
- return (string) $this->getHeader('Trailer');
- }
-
- /**
- * Get the Transfer-Encoding HTTP header
- *
- * @return string|null The form of encoding used to safely transfer the entity to the user
- */
- public function getTransferEncoding()
- {
- return (string) $this->getHeader('Transfer-Encoding');
- }
-
- /**
- * Get the Vary HTTP header
- *
- * @return string|null Tells downstream proxies how to match future request headers to decide whether the cached
- * response can be used rather than requesting a fresh one from the origin server.
- */
- public function getVary()
- {
- return (string) $this->getHeader('Vary');
- }
-
- /**
- * Get the Via HTTP header
- *
- * @return string|null Informs the client of proxies through which the response was sent.
- */
- public function getVia()
- {
- return (string) $this->getHeader('Via');
- }
-
- /**
- * Get the Warning HTTP header
- *
- * @return string|null A general warning about possible problems with the entity body
- */
- public function getWarning()
- {
- return (string) $this->getHeader('Warning');
- }
-
- /**
- * Get the WWW-Authenticate HTTP header
- *
- * @return string|null Indicates the authentication scheme that should be used to access the requested entity
- */
- public function getWwwAuthenticate()
- {
- return (string) $this->getHeader('WWW-Authenticate');
- }
-
- /**
- * Checks if HTTP Status code is a Client Error (4xx)
- *
- * @return bool
- */
- public function isClientError()
- {
- return $this->statusCode >= 400 && $this->statusCode < 500;
- }
-
- /**
- * Checks if HTTP Status code is Server OR Client Error (4xx or 5xx)
- *
- * @return boolean
- */
- public function isError()
- {
- return $this->isClientError() || $this->isServerError();
- }
-
- /**
- * Checks if HTTP Status code is Information (1xx)
- *
- * @return bool
- */
- public function isInformational()
- {
- return $this->statusCode < 200;
- }
-
- /**
- * Checks if HTTP Status code is a Redirect (3xx)
- *
- * @return bool
- */
- public function isRedirect()
- {
- return $this->statusCode >= 300 && $this->statusCode < 400;
- }
-
- /**
- * Checks if HTTP Status code is Server Error (5xx)
- *
- * @return bool
- */
- public function isServerError()
- {
- return $this->statusCode >= 500 && $this->statusCode < 600;
- }
-
- /**
- * Checks if HTTP Status code is Successful (2xx | 304)
- *
- * @return bool
- */
- public function isSuccessful()
- {
- return ($this->statusCode >= 200 && $this->statusCode < 300) || $this->statusCode == 304;
- }
-
- /**
- * Check if the response can be cached based on the response headers
- *
- * @return bool Returns TRUE if the response can be cached or false if not
- */
- public function canCache()
- {
- // Check if the response is cacheable based on the code
- if (!in_array((int) $this->getStatusCode(), self::$cacheResponseCodes)) {
- return false;
- }
-
- // Make sure a valid body was returned and can be cached
- if ((!$this->getBody()->isReadable() || !$this->getBody()->isSeekable())
- && ($this->getContentLength() > 0 || $this->getTransferEncoding() == 'chunked')) {
- return false;
- }
-
- // Never cache no-store resources (this is a private cache, so private
- // can be cached)
- if ($this->getHeader('Cache-Control') && $this->getHeader('Cache-Control')->hasDirective('no-store')) {
- return false;
- }
-
- return $this->isFresh() || $this->getFreshness() === null || $this->canValidate();
- }
-
- /**
- * Gets the number of seconds from the current time in which this response is still considered fresh
- *
- * @return int|null Returns the number of seconds
- */
- public function getMaxAge()
- {
- if ($header = $this->getHeader('Cache-Control')) {
- // s-max-age, then max-age, then Expires
- if ($age = $header->getDirective('s-maxage')) {
- return $age;
- }
- if ($age = $header->getDirective('max-age')) {
- return $age;
- }
- }
-
- if ($this->getHeader('Expires')) {
- return strtotime($this->getExpires()) - time();
- }
-
- return null;
- }
-
- /**
- * Check if the response is considered fresh.
- *
- * A response is considered fresh when its age is less than or equal to the freshness lifetime (maximum age) of the
- * response.
- *
- * @return bool|null
- */
- public function isFresh()
- {
- $fresh = $this->getFreshness();
-
- return $fresh === null ? null : $fresh >= 0;
- }
-
- /**
- * Check if the response can be validated against the origin server using a conditional GET request.
- *
- * @return bool
- */
- public function canValidate()
- {
- return $this->getEtag() || $this->getLastModified();
- }
-
- /**
- * Get the freshness of the response by returning the difference of the maximum lifetime of the response and the
- * age of the response (max-age - age).
- *
- * Freshness values less than 0 mean that the response is no longer fresh and is ABS(freshness) seconds expired.
- * Freshness values of greater than zero is the number of seconds until the response is no longer fresh. A NULL
- * result means that no freshness information is available.
- *
- * @return int
- */
- public function getFreshness()
- {
- $maxAge = $this->getMaxAge();
- $age = $this->calculateAge();
-
- return $maxAge && $age ? ($maxAge - $age) : null;
- }
-
- /**
- * Parse the JSON response body and return an array
- *
- * @return array|string|int|bool|float
- * @throws RuntimeException if the response body is not in JSON format
- */
- public function json()
- {
- $data = json_decode((string) $this->body, true);
- if (JSON_ERROR_NONE !== json_last_error()) {
- throw new RuntimeException('Unable to parse response body into JSON: ' . json_last_error());
- }
-
- return $data === null ? array() : $data;
- }
-
- /**
- * Parse the XML response body and return a \SimpleXMLElement.
- *
- * In order to prevent XXE attacks, this method disables loading external
- * entities. If you rely on external entities, then you must parse the
- * XML response manually by accessing the response body directly.
- *
- * @return \SimpleXMLElement
- * @throws RuntimeException if the response body is not in XML format
- * @link http://websec.io/2012/08/27/Preventing-XXE-in-PHP.html
- */
- public function xml()
- {
- $errorMessage = null;
- $internalErrors = libxml_use_internal_errors(true);
- $disableEntities = libxml_disable_entity_loader(true);
- libxml_clear_errors();
-
- try {
- $xml = new \SimpleXMLElement((string) $this->body ?: '
- * Array
- * (
- * [Money.php] => Array
- * (
- * ...
- * )
- *
- * [MoneyBag.php] => Array
- * (
- * ...
- * )
- * )
- *
- *
- * is transformed into
- *
- *
- * Array
- * (
- * [.] => Array
- * (
- * [Money.php] => Array
- * (
- * ...
- * )
- *
- * [MoneyBag.php] => Array
- * (
- * ...
- * )
- * )
- * )
- *
- *
- * @param array $files
- * @return array
- */
- protected function buildDirectoryStructure($files)
- {
- $result = array();
-
- foreach ($files as $path => $file) {
- $path = explode('/', $path);
- $pointer = &$result;
- $max = count($path);
-
- for ($i = 0; $i < $max; $i++) {
- if ($i == ($max - 1)) {
- $type = '/f';
- } else {
- $type = '';
- }
-
- $pointer = &$pointer[$path[$i] . $type];
- }
-
- $pointer = $file;
- }
-
- return $result;
- }
-
- /**
- * Reduces the paths by cutting the longest common start path.
- *
- * For instance,
- *
- *
- * Array
- * (
- * [/home/sb/Money/Money.php] => Array
- * (
- * ...
- * )
- *
- * [/home/sb/Money/MoneyBag.php] => Array
- * (
- * ...
- * )
- * )
- *
- *
- * is reduced to
- *
- *
- * Array
- * (
- * [Money.php] => Array
- * (
- * ...
- * )
- *
- * [MoneyBag.php] => Array
- * (
- * ...
- * )
- * )
- *
- *
- * @param array $files
- * @return string
- */
- protected function reducePaths(&$files)
- {
- if (empty($files)) {
- return '.';
- }
-
- $commonPath = '';
- $paths = array_keys($files);
-
- if (count($files) == 1) {
- $commonPath = dirname($paths[0]) . '/';
- $files[basename($paths[0])] = $files[$paths[0]];
-
- unset($files[$paths[0]]);
-
- return $commonPath;
- }
-
- $max = count($paths);
-
- for ($i = 0; $i < $max; $i++) {
- // strip phar:// prefixes
- if (strpos($paths[$i], 'phar://') === 0) {
- $paths[$i] = substr($paths[$i], 7);
- }
- $paths[$i] = explode(DIRECTORY_SEPARATOR, $paths[$i]);
-
- if (empty($paths[$i][0])) {
- $paths[$i][0] = DIRECTORY_SEPARATOR;
- }
- }
-
- $done = FALSE;
- $max = count($paths);
-
- while (!$done) {
- for ($i = 0; $i < $max - 1; $i++) {
- if (!isset($paths[$i][0]) ||
- !isset($paths[$i+1][0]) ||
- $paths[$i][0] != $paths[$i+1][0]) {
- $done = TRUE;
- break;
- }
- }
-
- if (!$done) {
- $commonPath .= $paths[0][0];
-
- if ($paths[0][0] != DIRECTORY_SEPARATOR) {
- $commonPath .= DIRECTORY_SEPARATOR;
- }
-
- for ($i = 0; $i < $max; $i++) {
- array_shift($paths[$i]);
- }
- }
- }
-
- $original = array_keys($files);
- $max = count($original);
-
- for ($i = 0; $i < $max; $i++) {
- $files[join('/', $paths[$i])] = $files[$original[$i]];
- unset($files[$original[$i]]);
- }
-
- ksort($files);
-
- return substr($commonPath, 0, -1);
- }
-}
diff --git a/sites/all/libraries/mailgun/vendor/phpunit/php-code-coverage/PHP/CodeCoverage/Report/HTML.php b/sites/all/libraries/mailgun/vendor/phpunit/php-code-coverage/PHP/CodeCoverage/Report/HTML.php
deleted file mode 100644
index cb07ec49..00000000
--- a/sites/all/libraries/mailgun/vendor/phpunit/php-code-coverage/PHP/CodeCoverage/Report/HTML.php
+++ /dev/null
@@ -1,224 +0,0 @@
-.
- * All rights reserved.
- *
- * 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 Sebastian Bergmann nor the names of his
- * 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.
- *
- * @category PHP
- * @package CodeCoverage
- * @author Sebastian Bergmann - | Code Coverage |
- ||||||||
- | Lines |
- Functions and Methods |
- Classes and Traits |
-
- | Code Coverage |
- |||||||||
- | Classes and Traits |
- Functions and Methods |
- Lines |
-