mirror of
				https://gitee.com/ledc/IYUUAutoReseed
				synced 2025-10-31 00:39:50 +00:00 
			
		
		
		
	变更忽略列表
This commit is contained in:
		
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -7,3 +7,4 @@ | |||||||
| /*.sh | /*.sh | ||||||
| .idea | .idea | ||||||
| .php_cs.cache | .php_cs.cache | ||||||
|  | vendor | ||||||
|   | |||||||
							
								
								
									
										7
									
								
								vendor/autoload.php
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								vendor/autoload.php
									
									
									
									
										vendored
									
									
								
							| @@ -1,7 +0,0 @@ | |||||||
| <?php |  | ||||||
|  |  | ||||||
| // autoload.php @generated by Composer |  | ||||||
|  |  | ||||||
| require_once __DIR__ . '/composer/autoload_real.php'; |  | ||||||
|  |  | ||||||
| return ComposerAutoloaderInitc1e5fbd59e164c9ce8925e2ca672401d::getLoader(); |  | ||||||
							
								
								
									
										445
									
								
								vendor/composer/ClassLoader.php
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										445
									
								
								vendor/composer/ClassLoader.php
									
									
									
									
										vendored
									
									
								
							| @@ -1,445 +0,0 @@ | |||||||
| <?php |  | ||||||
|  |  | ||||||
| /* |  | ||||||
|  * This file is part of Composer. |  | ||||||
|  * |  | ||||||
|  * (c) Nils Adermann <naderman@naderman.de> |  | ||||||
|  *     Jordi Boggiano <j.boggiano@seld.be> |  | ||||||
|  * |  | ||||||
|  * For the full copyright and license information, please view the LICENSE |  | ||||||
|  * file that was distributed with this source code. |  | ||||||
|  */ |  | ||||||
|  |  | ||||||
| namespace Composer\Autoload; |  | ||||||
|  |  | ||||||
| /** |  | ||||||
|  * ClassLoader implements a PSR-0, PSR-4 and classmap class loader. |  | ||||||
|  * |  | ||||||
|  *     $loader = new \Composer\Autoload\ClassLoader(); |  | ||||||
|  * |  | ||||||
|  *     // register classes with namespaces |  | ||||||
|  *     $loader->add('Symfony\Component', __DIR__.'/component'); |  | ||||||
|  *     $loader->add('Symfony',           __DIR__.'/framework'); |  | ||||||
|  * |  | ||||||
|  *     // activate the autoloader |  | ||||||
|  *     $loader->register(); |  | ||||||
|  * |  | ||||||
|  *     // to enable searching the include path (eg. for PEAR packages) |  | ||||||
|  *     $loader->setUseIncludePath(true); |  | ||||||
|  * |  | ||||||
|  * In this example, if you try to use a class in the Symfony\Component |  | ||||||
|  * namespace or one of its children (Symfony\Component\Console for instance), |  | ||||||
|  * the autoloader will first look for the class under the component/ |  | ||||||
|  * directory, and it will then fallback to the framework/ directory if not |  | ||||||
|  * found before giving up. |  | ||||||
|  * |  | ||||||
|  * This class is loosely based on the Symfony UniversalClassLoader. |  | ||||||
|  * |  | ||||||
|  * @author Fabien Potencier <fabien@symfony.com> |  | ||||||
|  * @author Jordi Boggiano <j.boggiano@seld.be> |  | ||||||
|  * @see    http://www.php-fig.org/psr/psr-0/ |  | ||||||
|  * @see    http://www.php-fig.org/psr/psr-4/ |  | ||||||
|  */ |  | ||||||
| class ClassLoader |  | ||||||
| { |  | ||||||
|     // PSR-4 |  | ||||||
|     private $prefixLengthsPsr4 = array(); |  | ||||||
|     private $prefixDirsPsr4 = array(); |  | ||||||
|     private $fallbackDirsPsr4 = array(); |  | ||||||
|  |  | ||||||
|     // PSR-0 |  | ||||||
|     private $prefixesPsr0 = array(); |  | ||||||
|     private $fallbackDirsPsr0 = array(); |  | ||||||
|  |  | ||||||
|     private $useIncludePath = false; |  | ||||||
|     private $classMap = array(); |  | ||||||
|     private $classMapAuthoritative = false; |  | ||||||
|     private $missingClasses = array(); |  | ||||||
|     private $apcuPrefix; |  | ||||||
|  |  | ||||||
|     public function getPrefixes() |  | ||||||
|     { |  | ||||||
|         if (!empty($this->prefixesPsr0)) { |  | ||||||
|             return call_user_func_array('array_merge', $this->prefixesPsr0); |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         return array(); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public function getPrefixesPsr4() |  | ||||||
|     { |  | ||||||
|         return $this->prefixDirsPsr4; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public function getFallbackDirs() |  | ||||||
|     { |  | ||||||
|         return $this->fallbackDirsPsr0; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public function getFallbackDirsPsr4() |  | ||||||
|     { |  | ||||||
|         return $this->fallbackDirsPsr4; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public function getClassMap() |  | ||||||
|     { |  | ||||||
|         return $this->classMap; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * @param array $classMap Class to filename map |  | ||||||
|      */ |  | ||||||
|     public function addClassMap(array $classMap) |  | ||||||
|     { |  | ||||||
|         if ($this->classMap) { |  | ||||||
|             $this->classMap = array_merge($this->classMap, $classMap); |  | ||||||
|         } else { |  | ||||||
|             $this->classMap = $classMap; |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Registers a set of PSR-0 directories for a given prefix, either |  | ||||||
|      * appending or prepending to the ones previously set for this prefix. |  | ||||||
|      * |  | ||||||
|      * @param string       $prefix  The prefix |  | ||||||
|      * @param array|string $paths   The PSR-0 root directories |  | ||||||
|      * @param bool         $prepend Whether to prepend the directories |  | ||||||
|      */ |  | ||||||
|     public function add($prefix, $paths, $prepend = false) |  | ||||||
|     { |  | ||||||
|         if (!$prefix) { |  | ||||||
|             if ($prepend) { |  | ||||||
|                 $this->fallbackDirsPsr0 = array_merge( |  | ||||||
|                     (array) $paths, |  | ||||||
|                     $this->fallbackDirsPsr0 |  | ||||||
|                 ); |  | ||||||
|             } else { |  | ||||||
|                 $this->fallbackDirsPsr0 = array_merge( |  | ||||||
|                     $this->fallbackDirsPsr0, |  | ||||||
|                     (array) $paths |  | ||||||
|                 ); |  | ||||||
|             } |  | ||||||
|  |  | ||||||
|             return; |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         $first = $prefix[0]; |  | ||||||
|         if (!isset($this->prefixesPsr0[$first][$prefix])) { |  | ||||||
|             $this->prefixesPsr0[$first][$prefix] = (array) $paths; |  | ||||||
|  |  | ||||||
|             return; |  | ||||||
|         } |  | ||||||
|         if ($prepend) { |  | ||||||
|             $this->prefixesPsr0[$first][$prefix] = array_merge( |  | ||||||
|                 (array) $paths, |  | ||||||
|                 $this->prefixesPsr0[$first][$prefix] |  | ||||||
|             ); |  | ||||||
|         } else { |  | ||||||
|             $this->prefixesPsr0[$first][$prefix] = array_merge( |  | ||||||
|                 $this->prefixesPsr0[$first][$prefix], |  | ||||||
|                 (array) $paths |  | ||||||
|             ); |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Registers a set of PSR-4 directories for a given namespace, either |  | ||||||
|      * appending or prepending to the ones previously set for this namespace. |  | ||||||
|      * |  | ||||||
|      * @param string       $prefix  The prefix/namespace, with trailing '\\' |  | ||||||
|      * @param array|string $paths   The PSR-4 base directories |  | ||||||
|      * @param bool         $prepend Whether to prepend the directories |  | ||||||
|      * |  | ||||||
|      * @throws \InvalidArgumentException |  | ||||||
|      */ |  | ||||||
|     public function addPsr4($prefix, $paths, $prepend = false) |  | ||||||
|     { |  | ||||||
|         if (!$prefix) { |  | ||||||
|             // Register directories for the root namespace. |  | ||||||
|             if ($prepend) { |  | ||||||
|                 $this->fallbackDirsPsr4 = array_merge( |  | ||||||
|                     (array) $paths, |  | ||||||
|                     $this->fallbackDirsPsr4 |  | ||||||
|                 ); |  | ||||||
|             } else { |  | ||||||
|                 $this->fallbackDirsPsr4 = array_merge( |  | ||||||
|                     $this->fallbackDirsPsr4, |  | ||||||
|                     (array) $paths |  | ||||||
|                 ); |  | ||||||
|             } |  | ||||||
|         } elseif (!isset($this->prefixDirsPsr4[$prefix])) { |  | ||||||
|             // Register directories for a new namespace. |  | ||||||
|             $length = strlen($prefix); |  | ||||||
|             if ('\\' !== $prefix[$length - 1]) { |  | ||||||
|                 throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); |  | ||||||
|             } |  | ||||||
|             $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; |  | ||||||
|             $this->prefixDirsPsr4[$prefix] = (array) $paths; |  | ||||||
|         } elseif ($prepend) { |  | ||||||
|             // Prepend directories for an already registered namespace. |  | ||||||
|             $this->prefixDirsPsr4[$prefix] = array_merge( |  | ||||||
|                 (array) $paths, |  | ||||||
|                 $this->prefixDirsPsr4[$prefix] |  | ||||||
|             ); |  | ||||||
|         } else { |  | ||||||
|             // Append directories for an already registered namespace. |  | ||||||
|             $this->prefixDirsPsr4[$prefix] = array_merge( |  | ||||||
|                 $this->prefixDirsPsr4[$prefix], |  | ||||||
|                 (array) $paths |  | ||||||
|             ); |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Registers a set of PSR-0 directories for a given prefix, |  | ||||||
|      * replacing any others previously set for this prefix. |  | ||||||
|      * |  | ||||||
|      * @param string       $prefix The prefix |  | ||||||
|      * @param array|string $paths  The PSR-0 base directories |  | ||||||
|      */ |  | ||||||
|     public function set($prefix, $paths) |  | ||||||
|     { |  | ||||||
|         if (!$prefix) { |  | ||||||
|             $this->fallbackDirsPsr0 = (array) $paths; |  | ||||||
|         } else { |  | ||||||
|             $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths; |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Registers a set of PSR-4 directories for a given namespace, |  | ||||||
|      * replacing any others previously set for this namespace. |  | ||||||
|      * |  | ||||||
|      * @param string       $prefix The prefix/namespace, with trailing '\\' |  | ||||||
|      * @param array|string $paths  The PSR-4 base directories |  | ||||||
|      * |  | ||||||
|      * @throws \InvalidArgumentException |  | ||||||
|      */ |  | ||||||
|     public function setPsr4($prefix, $paths) |  | ||||||
|     { |  | ||||||
|         if (!$prefix) { |  | ||||||
|             $this->fallbackDirsPsr4 = (array) $paths; |  | ||||||
|         } else { |  | ||||||
|             $length = strlen($prefix); |  | ||||||
|             if ('\\' !== $prefix[$length - 1]) { |  | ||||||
|                 throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); |  | ||||||
|             } |  | ||||||
|             $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; |  | ||||||
|             $this->prefixDirsPsr4[$prefix] = (array) $paths; |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Turns on searching the include path for class files. |  | ||||||
|      * |  | ||||||
|      * @param bool $useIncludePath |  | ||||||
|      */ |  | ||||||
|     public function setUseIncludePath($useIncludePath) |  | ||||||
|     { |  | ||||||
|         $this->useIncludePath = $useIncludePath; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Can be used to check if the autoloader uses the include path to check |  | ||||||
|      * for classes. |  | ||||||
|      * |  | ||||||
|      * @return bool |  | ||||||
|      */ |  | ||||||
|     public function getUseIncludePath() |  | ||||||
|     { |  | ||||||
|         return $this->useIncludePath; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Turns off searching the prefix and fallback directories for classes |  | ||||||
|      * that have not been registered with the class map. |  | ||||||
|      * |  | ||||||
|      * @param bool $classMapAuthoritative |  | ||||||
|      */ |  | ||||||
|     public function setClassMapAuthoritative($classMapAuthoritative) |  | ||||||
|     { |  | ||||||
|         $this->classMapAuthoritative = $classMapAuthoritative; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Should class lookup fail if not found in the current class map? |  | ||||||
|      * |  | ||||||
|      * @return bool |  | ||||||
|      */ |  | ||||||
|     public function isClassMapAuthoritative() |  | ||||||
|     { |  | ||||||
|         return $this->classMapAuthoritative; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * APCu prefix to use to cache found/not-found classes, if the extension is enabled. |  | ||||||
|      * |  | ||||||
|      * @param string|null $apcuPrefix |  | ||||||
|      */ |  | ||||||
|     public function setApcuPrefix($apcuPrefix) |  | ||||||
|     { |  | ||||||
|         $this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * The APCu prefix in use, or null if APCu caching is not enabled. |  | ||||||
|      * |  | ||||||
|      * @return string|null |  | ||||||
|      */ |  | ||||||
|     public function getApcuPrefix() |  | ||||||
|     { |  | ||||||
|         return $this->apcuPrefix; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Registers this instance as an autoloader. |  | ||||||
|      * |  | ||||||
|      * @param bool $prepend Whether to prepend the autoloader or not |  | ||||||
|      */ |  | ||||||
|     public function register($prepend = false) |  | ||||||
|     { |  | ||||||
|         spl_autoload_register(array($this, 'loadClass'), true, $prepend); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Unregisters this instance as an autoloader. |  | ||||||
|      */ |  | ||||||
|     public function unregister() |  | ||||||
|     { |  | ||||||
|         spl_autoload_unregister(array($this, 'loadClass')); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Loads the given class or interface. |  | ||||||
|      * |  | ||||||
|      * @param  string    $class The name of the class |  | ||||||
|      * @return bool|null True if loaded, null otherwise |  | ||||||
|      */ |  | ||||||
|     public function loadClass($class) |  | ||||||
|     { |  | ||||||
|         if ($file = $this->findFile($class)) { |  | ||||||
|             includeFile($file); |  | ||||||
|  |  | ||||||
|             return true; |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Finds the path to the file where the class is defined. |  | ||||||
|      * |  | ||||||
|      * @param string $class The name of the class |  | ||||||
|      * |  | ||||||
|      * @return string|false The path if found, false otherwise |  | ||||||
|      */ |  | ||||||
|     public function findFile($class) |  | ||||||
|     { |  | ||||||
|         // class map lookup |  | ||||||
|         if (isset($this->classMap[$class])) { |  | ||||||
|             return $this->classMap[$class]; |  | ||||||
|         } |  | ||||||
|         if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) { |  | ||||||
|             return false; |  | ||||||
|         } |  | ||||||
|         if (null !== $this->apcuPrefix) { |  | ||||||
|             $file = apcu_fetch($this->apcuPrefix.$class, $hit); |  | ||||||
|             if ($hit) { |  | ||||||
|                 return $file; |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         $file = $this->findFileWithExtension($class, '.php'); |  | ||||||
|  |  | ||||||
|         // Search for Hack files if we are running on HHVM |  | ||||||
|         if (false === $file && defined('HHVM_VERSION')) { |  | ||||||
|             $file = $this->findFileWithExtension($class, '.hh'); |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         if (null !== $this->apcuPrefix) { |  | ||||||
|             apcu_add($this->apcuPrefix.$class, $file); |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         if (false === $file) { |  | ||||||
|             // Remember that this class does not exist. |  | ||||||
|             $this->missingClasses[$class] = true; |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         return $file; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     private function findFileWithExtension($class, $ext) |  | ||||||
|     { |  | ||||||
|         // PSR-4 lookup |  | ||||||
|         $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext; |  | ||||||
|  |  | ||||||
|         $first = $class[0]; |  | ||||||
|         if (isset($this->prefixLengthsPsr4[$first])) { |  | ||||||
|             $subPath = $class; |  | ||||||
|             while (false !== $lastPos = strrpos($subPath, '\\')) { |  | ||||||
|                 $subPath = substr($subPath, 0, $lastPos); |  | ||||||
|                 $search = $subPath . '\\'; |  | ||||||
|                 if (isset($this->prefixDirsPsr4[$search])) { |  | ||||||
|                     $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1); |  | ||||||
|                     foreach ($this->prefixDirsPsr4[$search] as $dir) { |  | ||||||
|                         if (file_exists($file = $dir . $pathEnd)) { |  | ||||||
|                             return $file; |  | ||||||
|                         } |  | ||||||
|                     } |  | ||||||
|                 } |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         // PSR-4 fallback dirs |  | ||||||
|         foreach ($this->fallbackDirsPsr4 as $dir) { |  | ||||||
|             if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) { |  | ||||||
|                 return $file; |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         // PSR-0 lookup |  | ||||||
|         if (false !== $pos = strrpos($class, '\\')) { |  | ||||||
|             // namespaced class name |  | ||||||
|             $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1) |  | ||||||
|                 . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR); |  | ||||||
|         } else { |  | ||||||
|             // PEAR-like class name |  | ||||||
|             $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext; |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         if (isset($this->prefixesPsr0[$first])) { |  | ||||||
|             foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) { |  | ||||||
|                 if (0 === strpos($class, $prefix)) { |  | ||||||
|                     foreach ($dirs as $dir) { |  | ||||||
|                         if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { |  | ||||||
|                             return $file; |  | ||||||
|                         } |  | ||||||
|                     } |  | ||||||
|                 } |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         // PSR-0 fallback dirs |  | ||||||
|         foreach ($this->fallbackDirsPsr0 as $dir) { |  | ||||||
|             if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) { |  | ||||||
|                 return $file; |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         // PSR-0 include paths. |  | ||||||
|         if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) { |  | ||||||
|             return $file; |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         return false; |  | ||||||
|     } |  | ||||||
| } |  | ||||||
|  |  | ||||||
| /** |  | ||||||
|  * Scope isolated include. |  | ||||||
|  * |  | ||||||
|  * Prevents access to $this/self from included files. |  | ||||||
|  */ |  | ||||||
| function includeFile($file) |  | ||||||
| { |  | ||||||
|     include $file; |  | ||||||
| } |  | ||||||
							
								
								
									
										21
									
								
								vendor/composer/LICENSE
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										21
									
								
								vendor/composer/LICENSE
									
									
									
									
										vendored
									
									
								
							| @@ -1,21 +0,0 @@ | |||||||
|  |  | ||||||
| Copyright (c) Nils Adermann, Jordi Boggiano |  | ||||||
|  |  | ||||||
| Permission is hereby granted, free of charge, to any person obtaining a copy |  | ||||||
| of this software and associated documentation files (the "Software"), to deal |  | ||||||
| in the Software without restriction, including without limitation the rights |  | ||||||
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |  | ||||||
| copies of the Software, and to permit persons to whom the Software is furnished |  | ||||||
| to do so, subject to the following conditions: |  | ||||||
|  |  | ||||||
| The above copyright notice and this permission notice shall be included in all |  | ||||||
| copies or substantial portions of the Software. |  | ||||||
|  |  | ||||||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |  | ||||||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |  | ||||||
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |  | ||||||
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |  | ||||||
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |  | ||||||
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |  | ||||||
| THE SOFTWARE. |  | ||||||
|  |  | ||||||
							
								
								
									
										9
									
								
								vendor/composer/autoload_classmap.php
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										9
									
								
								vendor/composer/autoload_classmap.php
									
									
									
									
										vendored
									
									
								
							| @@ -1,9 +0,0 @@ | |||||||
| <?php |  | ||||||
|  |  | ||||||
| // autoload_classmap.php @generated by Composer |  | ||||||
|  |  | ||||||
| $vendorDir = dirname(dirname(__FILE__)); |  | ||||||
| $baseDir = dirname($vendorDir); |  | ||||||
|  |  | ||||||
| return array( |  | ||||||
| ); |  | ||||||
							
								
								
									
										10
									
								
								vendor/composer/autoload_files.php
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								vendor/composer/autoload_files.php
									
									
									
									
										vendored
									
									
								
							| @@ -1,10 +0,0 @@ | |||||||
| <?php |  | ||||||
|  |  | ||||||
| // autoload_files.php @generated by Composer |  | ||||||
|  |  | ||||||
| $vendorDir = dirname(dirname(__FILE__)); |  | ||||||
| $baseDir = dirname($vendorDir); |  | ||||||
|  |  | ||||||
| return array( |  | ||||||
|     'f32902f145fce7a432f59959f59e5a18' => $baseDir . '/app/helper.php', |  | ||||||
| ); |  | ||||||
							
								
								
									
										10
									
								
								vendor/composer/autoload_namespaces.php
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								vendor/composer/autoload_namespaces.php
									
									
									
									
										vendored
									
									
								
							| @@ -1,10 +0,0 @@ | |||||||
| <?php |  | ||||||
|  |  | ||||||
| // autoload_namespaces.php @generated by Composer |  | ||||||
|  |  | ||||||
| $vendorDir = dirname(dirname(__FILE__)); |  | ||||||
| $baseDir = dirname($vendorDir); |  | ||||||
|  |  | ||||||
| return array( |  | ||||||
|     'Curl' => array($vendorDir . '/curl/curl/src'), |  | ||||||
| ); |  | ||||||
							
								
								
									
										10
									
								
								vendor/composer/autoload_psr4.php
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										10
									
								
								vendor/composer/autoload_psr4.php
									
									
									
									
										vendored
									
									
								
							| @@ -1,10 +0,0 @@ | |||||||
| <?php |  | ||||||
|  |  | ||||||
| // autoload_psr4.php @generated by Composer |  | ||||||
|  |  | ||||||
| $vendorDir = dirname(dirname(__FILE__)); |  | ||||||
| $baseDir = dirname($vendorDir); |  | ||||||
|  |  | ||||||
| return array( |  | ||||||
|     'IYUU\\' => array($baseDir . '/app'), |  | ||||||
| ); |  | ||||||
							
								
								
									
										70
									
								
								vendor/composer/autoload_real.php
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										70
									
								
								vendor/composer/autoload_real.php
									
									
									
									
										vendored
									
									
								
							| @@ -1,70 +0,0 @@ | |||||||
| <?php |  | ||||||
|  |  | ||||||
| // autoload_real.php @generated by Composer |  | ||||||
|  |  | ||||||
| class ComposerAutoloaderInitc1e5fbd59e164c9ce8925e2ca672401d |  | ||||||
| { |  | ||||||
|     private static $loader; |  | ||||||
|  |  | ||||||
|     public static function loadClassLoader($class) |  | ||||||
|     { |  | ||||||
|         if ('Composer\Autoload\ClassLoader' === $class) { |  | ||||||
|             require __DIR__ . '/ClassLoader.php'; |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public static function getLoader() |  | ||||||
|     { |  | ||||||
|         if (null !== self::$loader) { |  | ||||||
|             return self::$loader; |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         spl_autoload_register(array('ComposerAutoloaderInitc1e5fbd59e164c9ce8925e2ca672401d', 'loadClassLoader'), true, true); |  | ||||||
|         self::$loader = $loader = new \Composer\Autoload\ClassLoader(); |  | ||||||
|         spl_autoload_unregister(array('ComposerAutoloaderInitc1e5fbd59e164c9ce8925e2ca672401d', 'loadClassLoader')); |  | ||||||
|  |  | ||||||
|         $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); |  | ||||||
|         if ($useStaticLoader) { |  | ||||||
|             require_once __DIR__ . '/autoload_static.php'; |  | ||||||
|  |  | ||||||
|             call_user_func(\Composer\Autoload\ComposerStaticInitc1e5fbd59e164c9ce8925e2ca672401d::getInitializer($loader)); |  | ||||||
|         } else { |  | ||||||
|             $map = require __DIR__ . '/autoload_namespaces.php'; |  | ||||||
|             foreach ($map as $namespace => $path) { |  | ||||||
|                 $loader->set($namespace, $path); |  | ||||||
|             } |  | ||||||
|  |  | ||||||
|             $map = require __DIR__ . '/autoload_psr4.php'; |  | ||||||
|             foreach ($map as $namespace => $path) { |  | ||||||
|                 $loader->setPsr4($namespace, $path); |  | ||||||
|             } |  | ||||||
|  |  | ||||||
|             $classMap = require __DIR__ . '/autoload_classmap.php'; |  | ||||||
|             if ($classMap) { |  | ||||||
|                 $loader->addClassMap($classMap); |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         $loader->register(true); |  | ||||||
|  |  | ||||||
|         if ($useStaticLoader) { |  | ||||||
|             $includeFiles = Composer\Autoload\ComposerStaticInitc1e5fbd59e164c9ce8925e2ca672401d::$files; |  | ||||||
|         } else { |  | ||||||
|             $includeFiles = require __DIR__ . '/autoload_files.php'; |  | ||||||
|         } |  | ||||||
|         foreach ($includeFiles as $fileIdentifier => $file) { |  | ||||||
|             composerRequirec1e5fbd59e164c9ce8925e2ca672401d($fileIdentifier, $file); |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         return $loader; |  | ||||||
|     } |  | ||||||
| } |  | ||||||
|  |  | ||||||
| function composerRequirec1e5fbd59e164c9ce8925e2ca672401d($fileIdentifier, $file) |  | ||||||
| { |  | ||||||
|     if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { |  | ||||||
|         require $file; |  | ||||||
|  |  | ||||||
|         $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; |  | ||||||
|     } |  | ||||||
| } |  | ||||||
							
								
								
									
										46
									
								
								vendor/composer/autoload_static.php
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										46
									
								
								vendor/composer/autoload_static.php
									
									
									
									
										vendored
									
									
								
							| @@ -1,46 +0,0 @@ | |||||||
| <?php |  | ||||||
|  |  | ||||||
| // autoload_static.php @generated by Composer |  | ||||||
|  |  | ||||||
| namespace Composer\Autoload; |  | ||||||
|  |  | ||||||
| class ComposerStaticInitc1e5fbd59e164c9ce8925e2ca672401d |  | ||||||
| { |  | ||||||
|     public static $files = array ( |  | ||||||
|         'f32902f145fce7a432f59959f59e5a18' => __DIR__ . '/../..' . '/app/helper.php', |  | ||||||
|     ); |  | ||||||
|  |  | ||||||
|     public static $prefixLengthsPsr4 = array ( |  | ||||||
|         'I' =>  |  | ||||||
|         array ( |  | ||||||
|             'IYUU\\' => 5, |  | ||||||
|         ), |  | ||||||
|     ); |  | ||||||
|  |  | ||||||
|     public static $prefixDirsPsr4 = array ( |  | ||||||
|         'IYUU\\' =>  |  | ||||||
|         array ( |  | ||||||
|             0 => __DIR__ . '/../..' . '/app', |  | ||||||
|         ), |  | ||||||
|     ); |  | ||||||
|  |  | ||||||
|     public static $prefixesPsr0 = array ( |  | ||||||
|         'C' =>  |  | ||||||
|         array ( |  | ||||||
|             'Curl' =>  |  | ||||||
|             array ( |  | ||||||
|                 0 => __DIR__ . '/..' . '/curl/curl/src', |  | ||||||
|             ), |  | ||||||
|         ), |  | ||||||
|     ); |  | ||||||
|  |  | ||||||
|     public static function getInitializer(ClassLoader $loader) |  | ||||||
|     { |  | ||||||
|         return \Closure::bind(function () use ($loader) { |  | ||||||
|             $loader->prefixLengthsPsr4 = ComposerStaticInitc1e5fbd59e164c9ce8925e2ca672401d::$prefixLengthsPsr4; |  | ||||||
|             $loader->prefixDirsPsr4 = ComposerStaticInitc1e5fbd59e164c9ce8925e2ca672401d::$prefixDirsPsr4; |  | ||||||
|             $loader->prefixesPsr0 = ComposerStaticInitc1e5fbd59e164c9ce8925e2ca672401d::$prefixesPsr0; |  | ||||||
|  |  | ||||||
|         }, null, ClassLoader::class); |  | ||||||
|     } |  | ||||||
| } |  | ||||||
							
								
								
									
										65
									
								
								vendor/composer/installed.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										65
									
								
								vendor/composer/installed.json
									
									
									
									
										vendored
									
									
								
							| @@ -1,65 +0,0 @@ | |||||||
| [ |  | ||||||
|     { |  | ||||||
|         "name": "curl/curl", |  | ||||||
|         "version": "2.2.0", |  | ||||||
|         "version_normalized": "2.2.0.0", |  | ||||||
|         "source": { |  | ||||||
|             "type": "git", |  | ||||||
|             "url": "https://github.com/php-mod/curl.git", |  | ||||||
|             "reference": "d22086dd2eee5ca02e4c29b9a5bdf3645bfdbbff" |  | ||||||
|         }, |  | ||||||
|         "dist": { |  | ||||||
|             "type": "zip", |  | ||||||
|             "url": "https://api.github.com/repos/php-mod/curl/zipball/d22086dd2eee5ca02e4c29b9a5bdf3645bfdbbff", |  | ||||||
|             "reference": "d22086dd2eee5ca02e4c29b9a5bdf3645bfdbbff", |  | ||||||
|             "shasum": "", |  | ||||||
|             "mirrors": [ |  | ||||||
|                 { |  | ||||||
|                     "url": "https://mirrors.aliyun.com/composer/dists/%package%/%reference%.%type%", |  | ||||||
|                     "preferred": true |  | ||||||
|                 } |  | ||||||
|             ] |  | ||||||
|         }, |  | ||||||
|         "require": { |  | ||||||
|             "ext-curl": "*", |  | ||||||
|             "php": "^5.6 | ^7.0" |  | ||||||
|         }, |  | ||||||
|         "require-dev": { |  | ||||||
|             "phpunit/phpunit": "^5.7", |  | ||||||
|             "squizlabs/php_codesniffer": "~2.1" |  | ||||||
|         }, |  | ||||||
|         "time": "2018-12-04T19:47:03+00:00", |  | ||||||
|         "type": "library", |  | ||||||
|         "installation-source": "dist", |  | ||||||
|         "autoload": { |  | ||||||
|             "psr-0": { |  | ||||||
|                 "Curl": "src/" |  | ||||||
|             } |  | ||||||
|         }, |  | ||||||
|         "notification-url": "https://packagist.org/downloads/", |  | ||||||
|         "license": [ |  | ||||||
|             "MIT" |  | ||||||
|         ], |  | ||||||
|         "authors": [ |  | ||||||
|             { |  | ||||||
|                 "name": "Hassan Amouhzi", |  | ||||||
|                 "email": "hassan@anezi.net", |  | ||||||
|                 "homepage": "http://hassan.amouhzi.com" |  | ||||||
|             }, |  | ||||||
|             { |  | ||||||
|                 "name": "php-curl-class", |  | ||||||
|                 "homepage": "https://github.com/php-curl-class" |  | ||||||
|             }, |  | ||||||
|             { |  | ||||||
|                 "name": "user52", |  | ||||||
|                 "homepage": "https://github.com/user52" |  | ||||||
|             } |  | ||||||
|         ], |  | ||||||
|         "description": "cURL class for PHP", |  | ||||||
|         "homepage": "https://github.com/php-mod/curl", |  | ||||||
|         "keywords": [ |  | ||||||
|             "curl", |  | ||||||
|             "dot" |  | ||||||
|         ] |  | ||||||
|     } |  | ||||||
| ] |  | ||||||
							
								
								
									
										11
									
								
								vendor/curl/curl/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										11
									
								
								vendor/curl/curl/.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -1,11 +0,0 @@ | |||||||
| vendor/* |  | ||||||
| *.orig |  | ||||||
| .buildpath |  | ||||||
| .project |  | ||||||
| .settings/* |  | ||||||
| .idea/* |  | ||||||
| composer.lock |  | ||||||
| *~ |  | ||||||
| tests/phpunit_report/* |  | ||||||
| /.settings/ |  | ||||||
| /.php_cs.cache |  | ||||||
							
								
								
									
										113
									
								
								vendor/curl/curl/.gitlab-ci.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										113
									
								
								vendor/curl/curl/.gitlab-ci.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,113 +0,0 @@ | |||||||
| stages: |  | ||||||
|     - build |  | ||||||
|     - test |  | ||||||
|  |  | ||||||
| build-test-server: |  | ||||||
|     image: docker:latest |  | ||||||
|     stage: build |  | ||||||
|     services: |  | ||||||
|         - docker:dind |  | ||||||
|     script: |  | ||||||
|         - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY |  | ||||||
|         - docker build --pull -t "$CI_REGISTRY_IMAGE:server-test" tests/server |  | ||||||
|         - docker push "$CI_REGISTRY_IMAGE:server-test" |  | ||||||
|     only: |  | ||||||
|         changes: |  | ||||||
|             - tests/server |  | ||||||
|  |  | ||||||
| tests-php5.6: |  | ||||||
|     image: alpine:3.7 |  | ||||||
|     stage: test |  | ||||||
|     services: |  | ||||||
|         - name: "$CI_REGISTRY_IMAGE:server-test" |  | ||||||
|           alias: server_test |  | ||||||
|     script: |  | ||||||
|         - apk add --no-cache php5-cli php5-curl php5-gd php5-phar php5-json php5-openssl php5-dom php5-xml php5-zlib |  | ||||||
|         - ln -s /usr/bin/php5 /usr/bin/php |  | ||||||
|         - php --version |  | ||||||
|         - if [ ! -f composer.phar ]; then DOWLOAD_COMPOSER=1 ; fi; |  | ||||||
|         - if [ -n "$DOWLOAD_COMPOSER" ] ; then php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" ; fi; |  | ||||||
|         - if [ -n "$DOWLOAD_COMPOSER" ] ; then php -r "if (hash_file('sha384', 'composer-setup.php') === '93b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13e2cc8a1da0806388a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" ; fi; |  | ||||||
|         - if [ -n "$DOWLOAD_COMPOSER" ] ; then php composer-setup.php ; fi; |  | ||||||
|         - if [ -n "$DOWLOAD_COMPOSER" ] ; then php -r "unlink('composer-setup.php');" ; fi; |  | ||||||
|         - php composer.phar install |  | ||||||
|         - vendor/bin/phpcs --warning-severity=0 --standard=PSR2 src |  | ||||||
|         - vendor/bin/phpunit |  | ||||||
|     cache: |  | ||||||
|         key: php5.6 |  | ||||||
|         paths: |  | ||||||
|             - composer.phar |  | ||||||
|             - vendor |  | ||||||
|  |  | ||||||
| tests-php7.0: |  | ||||||
|     image: alpine:3.5 |  | ||||||
|     stage: test |  | ||||||
|     services: |  | ||||||
|         - name: "$CI_REGISTRY_IMAGE:server-test" |  | ||||||
|           alias: server_test |  | ||||||
|     script: |  | ||||||
|         - apk add --no-cache php7 php7-curl php7-gd php7-phar php7-json php7-openssl php7-dom php7-mbstring |  | ||||||
|         - ln -s /usr/bin/php7 /usr/bin/php |  | ||||||
|         - php --version |  | ||||||
|         - if [ ! -f composer.phar ]; then DOWLOAD_COMPOSER=1 ; fi; |  | ||||||
|         - if [ -n "$DOWLOAD_COMPOSER" ] ; then php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" ; fi; |  | ||||||
|         - if [ -n "$DOWLOAD_COMPOSER" ] ; then php -r "if (hash_file('sha384', 'composer-setup.php') === '93b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13e2cc8a1da0806388a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" ; fi; |  | ||||||
|         - if [ -n "$DOWLOAD_COMPOSER" ] ; then php composer-setup.php ; fi; |  | ||||||
|         - if [ -n "$DOWLOAD_COMPOSER" ] ; then php -r "unlink('composer-setup.php');" ; fi; |  | ||||||
|         - php composer.phar install |  | ||||||
|         - vendor/bin/phpcs --warning-severity=0 --standard=PSR2 src |  | ||||||
|         - nohup php -S localhost:8000 -t tests/server/php-curl-test > phpd.log 2>&1 & |  | ||||||
|         - vendor/bin/phpunit |  | ||||||
|     cache: |  | ||||||
|         key: php7.0 |  | ||||||
|         paths: |  | ||||||
|             - composer.phar |  | ||||||
|             - vendor |  | ||||||
|  |  | ||||||
| tests-php7.1: |  | ||||||
|     image: alpine:3.7 |  | ||||||
|     stage: test |  | ||||||
|     services: |  | ||||||
|         - name: "$CI_REGISTRY_IMAGE:server-test" |  | ||||||
|           alias: server_test |  | ||||||
|     script: |  | ||||||
|         - apk add --no-cache php7-cli php7-curl php7-gd php7-phar php7-json php7-openssl php7-dom php7-simplexml php7-tokenizer php7-mbstring php7-xml |  | ||||||
|         - php --version |  | ||||||
|         - if [ ! -f composer.phar ]; then DOWLOAD_COMPOSER=1 ; fi; |  | ||||||
|         - if [ -n "$DOWLOAD_COMPOSER" ] ; then php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" ; fi; |  | ||||||
|         - if [ -n "$DOWLOAD_COMPOSER" ] ; then php -r "if (hash_file('sha384', 'composer-setup.php') === '93b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13e2cc8a1da0806388a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" ; fi; |  | ||||||
|         - if [ -n "$DOWLOAD_COMPOSER" ] ; then php composer-setup.php ; fi; |  | ||||||
|         - if [ -n "$DOWLOAD_COMPOSER" ] ; then php -r "unlink('composer-setup.php');" ; fi; |  | ||||||
|         - php composer.phar install |  | ||||||
|         - vendor/bin/phpcs --warning-severity=0 --standard=PSR2 src |  | ||||||
|         - nohup php -S localhost:8000 -t tests/server/php-curl-test > phpd.log 2>&1 & |  | ||||||
|         - vendor/bin/phpunit |  | ||||||
|     cache: |  | ||||||
|         key: php7.1 |  | ||||||
|         paths: |  | ||||||
|             - composer.phar |  | ||||||
|             - vendor |  | ||||||
|  |  | ||||||
| tests-php7.2: |  | ||||||
|     image: alpine:3.8 |  | ||||||
|     stage: test |  | ||||||
|     services: |  | ||||||
|         - name: "$CI_REGISTRY_IMAGE:server-test" |  | ||||||
|           alias: server_test |  | ||||||
|     script: |  | ||||||
|         - apk add --no-cache php7-cli php7-curl php7-gd php7-phar php7-json php7-openssl php7-dom php7-simplexml php7-tokenizer php7-mbstring php7-xml |  | ||||||
|         - php --version |  | ||||||
|         - if [ ! -f composer.phar ]; then DOWLOAD_COMPOSER=1 ; fi; |  | ||||||
|         - if [ -n "$DOWLOAD_COMPOSER" ] ; then php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" ; fi; |  | ||||||
|         - if [ -n "$DOWLOAD_COMPOSER" ] ; then php -r "if (hash_file('sha384', 'composer-setup.php') === '93b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13e2cc8a1da0806388a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" ; fi; |  | ||||||
|         - if [ -n "$DOWLOAD_COMPOSER" ] ; then php composer-setup.php ; fi; |  | ||||||
|         - if [ -n "$DOWLOAD_COMPOSER" ] ; then php -r "unlink('composer-setup.php');" ; fi; |  | ||||||
|         - php composer.phar install |  | ||||||
|         - vendor/bin/phpcs --warning-severity=0 --standard=PSR2 src |  | ||||||
|         - nohup php -S localhost:8000 -t tests/server/php-curl-test > phpd.log 2>&1 & |  | ||||||
|         - vendor/bin/phpunit |  | ||||||
|     cache: |  | ||||||
|         key: php7.2 |  | ||||||
|         paths: |  | ||||||
|             - composer.phar |  | ||||||
|             - vendor |  | ||||||
							
								
								
									
										20
									
								
								vendor/curl/curl/LICENSE
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								vendor/curl/curl/LICENSE
									
									
									
									
										vendored
									
									
								
							| @@ -1,20 +0,0 @@ | |||||||
| The MIT License (MIT) |  | ||||||
|  |  | ||||||
| Copyright (c) 2013 php-mod |  | ||||||
|  |  | ||||||
| Permission is hereby granted, free of charge, to any person obtaining a copy of |  | ||||||
| this software and associated documentation files (the "Software"), to deal in |  | ||||||
| the Software without restriction, including without limitation the rights to |  | ||||||
| use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of |  | ||||||
| the Software, and to permit persons to whom the Software is furnished to do so, |  | ||||||
| subject to the following conditions: |  | ||||||
|  |  | ||||||
| The above copyright notice and this permission notice shall be included in all |  | ||||||
| copies or substantial portions of the Software. |  | ||||||
|  |  | ||||||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |  | ||||||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS |  | ||||||
| FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR |  | ||||||
| COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER |  | ||||||
| IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN |  | ||||||
| CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |  | ||||||
							
								
								
									
										125
									
								
								vendor/curl/curl/README.md
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										125
									
								
								vendor/curl/curl/README.md
									
									
									
									
										vendored
									
									
								
							| @@ -1,125 +0,0 @@ | |||||||
| # PHP Curl Class |  | ||||||
|  |  | ||||||
| This library provides an object-oriented wrapper of the PHP cURL extension. |  | ||||||
|  |  | ||||||
| If you have questions or problems with installation or usage [create an Issue](https://github.com/php-mod/curl/issues). |  | ||||||
|  |  | ||||||
| ## Installation |  | ||||||
|  |  | ||||||
| In order to install this library via composer run the following command in the console: |  | ||||||
|  |  | ||||||
| ```sh |  | ||||||
| composer require curl/curl |  | ||||||
| ``` |  | ||||||
|  |  | ||||||
| or add the package manually to your composer.json file in the require section: |  | ||||||
|  |  | ||||||
| ```json |  | ||||||
| "curl/curl": "^2.0" |  | ||||||
| ``` |  | ||||||
|  |  | ||||||
| ## Usage examples |  | ||||||
|  |  | ||||||
| ```php |  | ||||||
| $curl = new Curl\Curl(); |  | ||||||
| $curl->get('http://www.example.com/'); |  | ||||||
| ``` |  | ||||||
|  |  | ||||||
| ```php |  | ||||||
| $curl = new Curl\Curl(); |  | ||||||
| $curl->get('http://www.example.com/search', array( |  | ||||||
|     'q' => 'keyword', |  | ||||||
| )); |  | ||||||
| ``` |  | ||||||
|  |  | ||||||
| ```php |  | ||||||
| $curl = new Curl\Curl(); |  | ||||||
| $curl->post('http://www.example.com/login/', array( |  | ||||||
|     'username' => 'myusername', |  | ||||||
|     'password' => 'mypassword', |  | ||||||
| )); |  | ||||||
| ``` |  | ||||||
|  |  | ||||||
| ```php |  | ||||||
| $curl = new Curl\Curl(); |  | ||||||
| $curl->setBasicAuthentication('username', 'password'); |  | ||||||
| $curl->setUserAgent(''); |  | ||||||
| $curl->setReferrer(''); |  | ||||||
| $curl->setHeader('X-Requested-With', 'XMLHttpRequest'); |  | ||||||
| $curl->setCookie('key', 'value'); |  | ||||||
| $curl->get('http://www.example.com/'); |  | ||||||
|  |  | ||||||
| if ($curl->error) { |  | ||||||
|     echo $curl->error_code; |  | ||||||
| } |  | ||||||
| else { |  | ||||||
|     echo $curl->response; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| var_dump($curl->request_headers); |  | ||||||
| var_dump($curl->response_headers); |  | ||||||
| ``` |  | ||||||
|  |  | ||||||
| ```php |  | ||||||
| $curl = new Curl\Curl(); |  | ||||||
| $curl->setOpt(CURLOPT_RETURNTRANSFER, TRUE); |  | ||||||
| $curl->setOpt(CURLOPT_SSL_VERIFYPEER, FALSE); |  | ||||||
| $curl->get('https://encrypted.example.com/'); |  | ||||||
| ``` |  | ||||||
|  |  | ||||||
| ```php |  | ||||||
| $curl = new Curl\Curl(); |  | ||||||
| $curl->put('http://api.example.com/user/', array( |  | ||||||
|     'first_name' => 'Zach', |  | ||||||
|     'last_name' => 'Borboa', |  | ||||||
| )); |  | ||||||
| ``` |  | ||||||
|  |  | ||||||
| ```php |  | ||||||
| $curl = new Curl\Curl(); |  | ||||||
| $curl->patch('http://api.example.com/profile/', array( |  | ||||||
|     'image' => '@path/to/file.jpg', |  | ||||||
| )); |  | ||||||
| ``` |  | ||||||
|  |  | ||||||
| ```php |  | ||||||
| $curl = new Curl\Curl(); |  | ||||||
| $curl->delete('http://api.example.com/user/', array( |  | ||||||
|     'id' => '1234', |  | ||||||
| )); |  | ||||||
| ``` |  | ||||||
|  |  | ||||||
| ```php |  | ||||||
| $curl->close(); |  | ||||||
| ``` |  | ||||||
|  |  | ||||||
| ```php |  | ||||||
| // Example access to curl object. |  | ||||||
| curl_set_opt($curl->curl, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1'); |  | ||||||
| curl_close($curl->curl); |  | ||||||
| ``` |  | ||||||
|  |  | ||||||
| ```php |  | ||||||
| // Example of downloading a file or any other content |  | ||||||
| $curl = new Curl\Curl(); |  | ||||||
| // open the file where the request response should be written |  | ||||||
| $file_handle = fopen($target_file, 'w+'); |  | ||||||
| // pass it to the curl resource |  | ||||||
| $curl->setOpt(CURLOPT_FILE, $file_handle); |  | ||||||
| // do any type of request |  | ||||||
| $curl->get('https://github.com'); |  | ||||||
| // disable writing to file |  | ||||||
| $curl->setOpt(CURLOPT_FILE, null); |  | ||||||
| // close the file for writing |  | ||||||
| fclose($file_handle); |  | ||||||
| ``` |  | ||||||
|  |  | ||||||
|  |  | ||||||
| ## Testing |  | ||||||
|  |  | ||||||
| In order to test the library: |  | ||||||
|  |  | ||||||
| 1. Create a fork |  | ||||||
| 2. Clone the fork to your machine |  | ||||||
| 3. Install the depencies `composer install` |  | ||||||
| 4. Run the unit tests `./vendor/bin/phpunit tests` |  | ||||||
							
								
								
									
										36
									
								
								vendor/curl/curl/composer.json
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										36
									
								
								vendor/curl/curl/composer.json
									
									
									
									
										vendored
									
									
								
							| @@ -1,36 +0,0 @@ | |||||||
| { |  | ||||||
|   "name": "curl/curl", |  | ||||||
|   "description": "cURL class for PHP", |  | ||||||
|   "keywords": ["dot", "curl"], |  | ||||||
|   "homepage": "https://github.com/php-mod/curl", |  | ||||||
|   "type": "library", |  | ||||||
|   "license": "MIT", |  | ||||||
|   "authors": [ |  | ||||||
|     { |  | ||||||
|       "name": "php-curl-class", |  | ||||||
|       "homepage": "https://github.com/php-curl-class" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "Hassan Amouhzi", |  | ||||||
|       "email": "hassan@anezi.net", |  | ||||||
|       "homepage": "http://hassan.amouhzi.com" |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       "name": "user52", |  | ||||||
|       "homepage": "https://github.com/user52" |  | ||||||
|     } |  | ||||||
|   ], |  | ||||||
|   "require": { |  | ||||||
|     "php": "^5.6 | ^7.0", |  | ||||||
|     "ext-curl": "*" |  | ||||||
|   }, |  | ||||||
|   "require-dev": { |  | ||||||
|     "phpunit/phpunit": "^5.7", |  | ||||||
|     "squizlabs/php_codesniffer": "~2.1" |  | ||||||
|   }, |  | ||||||
|   "autoload": { |  | ||||||
|     "psr-0": { |  | ||||||
|       "Curl": "src/" |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| } |  | ||||||
							
								
								
									
										24
									
								
								vendor/curl/curl/phpunit.xml.dist
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										24
									
								
								vendor/curl/curl/phpunit.xml.dist
									
									
									
									
										vendored
									
									
								
							| @@ -1,24 +0,0 @@ | |||||||
| <?xml version="1.0" encoding="UTF-8"?> |  | ||||||
| <phpunit backupGlobals="false" |  | ||||||
|          backupStaticAttributes="false" |  | ||||||
|          colors="true" |  | ||||||
|          convertErrorsToExceptions="true" |  | ||||||
|          convertNoticesToExceptions="true" |  | ||||||
|          convertWarningsToExceptions="true" |  | ||||||
|          processIsolation="false" |  | ||||||
|          stopOnFailure="false" |  | ||||||
|          syntaxCheck="true" |  | ||||||
|          verbose="false" |  | ||||||
|          bootstrap="vendor/autoload.php" |  | ||||||
| > |  | ||||||
|     <php> |  | ||||||
|       <ini name="display_errors" value="on"/> |  | ||||||
|     </php> |  | ||||||
|  |  | ||||||
|     <testsuites> |  | ||||||
|         <testsuite name="PHP MP4Box Tests Suite"> |  | ||||||
|             <directory>tests</directory> |  | ||||||
|         </testsuite> |  | ||||||
|     </testsuites> |  | ||||||
|  |  | ||||||
| </phpunit> |  | ||||||
							
								
								
									
										719
									
								
								vendor/curl/curl/src/Curl/Curl.php
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										719
									
								
								vendor/curl/curl/src/Curl/Curl.php
									
									
									
									
										vendored
									
									
								
							| @@ -1,719 +0,0 @@ | |||||||
| <?php |  | ||||||
|  |  | ||||||
| namespace Curl; |  | ||||||
|  |  | ||||||
| /** |  | ||||||
|  * An object-oriented wrapper of the PHP cURL extension. |  | ||||||
|  * |  | ||||||
|  * This library requires to have the php cURL extensions installed: |  | ||||||
|  * https://php.net/manual/curl.setup.php |  | ||||||
|  * |  | ||||||
|  * Example of making a get request with parameters: |  | ||||||
|  * |  | ||||||
|  * ```php |  | ||||||
|  * $curl = new Curl\Curl(); |  | ||||||
|  * $curl->get('http://www.example.com/search', array( |  | ||||||
|  *     'q' => 'keyword', |  | ||||||
|  * )); |  | ||||||
|  * ``` |  | ||||||
|  * |  | ||||||
|  * Example post request with post data: |  | ||||||
|  * |  | ||||||
|  * ```php |  | ||||||
|  * $curl = new Curl\Curl(); |  | ||||||
|  * $curl->post('http://www.example.com/login/', array( |  | ||||||
|  *     'username' => 'myusername', |  | ||||||
|  *     'password' => 'mypassword', |  | ||||||
|  * )); |  | ||||||
|  * ``` |  | ||||||
|  * |  | ||||||
|  * @see https://php.net/manual/curl.setup.php |  | ||||||
|  */ |  | ||||||
| class Curl |  | ||||||
| { |  | ||||||
|     // The HTTP authentication method(s) to use. |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * @var string Type AUTH_BASIC |  | ||||||
|      */ |  | ||||||
|     const AUTH_BASIC = CURLAUTH_BASIC; |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * @var string Type AUTH_DIGEST |  | ||||||
|      */ |  | ||||||
|     const AUTH_DIGEST = CURLAUTH_DIGEST; |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * @var string Type AUTH_GSSNEGOTIATE |  | ||||||
|      */ |  | ||||||
|     const AUTH_GSSNEGOTIATE = CURLAUTH_GSSNEGOTIATE; |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * @var string Type AUTH_NTLM |  | ||||||
|      */ |  | ||||||
|     const AUTH_NTLM = CURLAUTH_NTLM; |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * @var string Type AUTH_ANY |  | ||||||
|      */ |  | ||||||
|     const AUTH_ANY = CURLAUTH_ANY; |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * @var string Type AUTH_ANYSAFE |  | ||||||
|      */ |  | ||||||
|     const AUTH_ANYSAFE = CURLAUTH_ANYSAFE; |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * @var string The user agent name which is set when making a request |  | ||||||
|      */ |  | ||||||
|     const USER_AGENT = 'PHP Curl/1.9 (+https://github.com/php-mod/curl)'; |  | ||||||
|  |  | ||||||
|     private $_cookies = array(); |  | ||||||
|  |  | ||||||
|     private $_headers = array(); |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * @var resource Contains the curl resource created by `curl_init()` function |  | ||||||
|      */ |  | ||||||
|     public $curl; |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * @var bool Whether an error occured or not |  | ||||||
|      */ |  | ||||||
|     public $error = false; |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * @var int Contains the error code of the curren request, 0 means no error happend |  | ||||||
|      */ |  | ||||||
|     public $error_code = 0; |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * @var string If the curl request failed, the error message is contained |  | ||||||
|      */ |  | ||||||
|     public $error_message = null; |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * @var bool Whether an error occured or not |  | ||||||
|      */ |  | ||||||
|     public $curl_error = false; |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * @var int Contains the error code of the curren request, 0 means no error happend. |  | ||||||
|      * @see https://curl.haxx.se/libcurl/c/libcurl-errors.html |  | ||||||
|      */ |  | ||||||
|     public $curl_error_code = 0; |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * @var string If the curl request failed, the error message is contained |  | ||||||
|      */ |  | ||||||
|     public $curl_error_message = null; |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * @var bool Whether an error occured or not |  | ||||||
|      */ |  | ||||||
|     public $http_error = false; |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * @var int Contains the status code of the current processed request. |  | ||||||
|      */ |  | ||||||
|     public $http_status_code = 0; |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * @var string If the curl request failed, the error message is contained |  | ||||||
|      */ |  | ||||||
|     public $http_error_message = null; |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * @var string|array TBD (ensure type) Contains the request header informations |  | ||||||
|      */ |  | ||||||
|     public $request_headers = null; |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * @var string|array TBD (ensure type) Contains the response header informations |  | ||||||
|      */ |  | ||||||
|     public $response_headers = array(); |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * @var string Contains the response from the curl request |  | ||||||
|      */ |  | ||||||
|     public $response = null; |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * @var bool Whether the current section of response headers is after 'HTTP/1.1 100 Continue' |  | ||||||
|      */ |  | ||||||
|     protected $response_header_continue = false; |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Constructor ensures the available curl extension is loaded. |  | ||||||
|      * |  | ||||||
|      * @throws \ErrorException |  | ||||||
|      */ |  | ||||||
|     public function __construct() |  | ||||||
|     { |  | ||||||
|         if (!extension_loaded('curl')) { |  | ||||||
|             throw new \ErrorException('The cURL extensions is not loaded, make sure you have installed the cURL extension: https://php.net/manual/curl.setup.php'); |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         $this->init(); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     // private methods |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Initializer for the curl resource. |  | ||||||
|      * |  | ||||||
|      * Is called by the __construct() of the class or when the curl request is reseted. |  | ||||||
|      * @return self |  | ||||||
|      */ |  | ||||||
|     private function init() |  | ||||||
|     { |  | ||||||
|         $this->curl = curl_init(); |  | ||||||
|         $this->setUserAgent(self::USER_AGENT); |  | ||||||
|         $this->setOpt(CURLINFO_HEADER_OUT, true); |  | ||||||
|         $this->setOpt(CURLOPT_HEADER, false); |  | ||||||
|         $this->setOpt(CURLOPT_RETURNTRANSFER, true); |  | ||||||
|         $this->setOpt(CURLOPT_HEADERFUNCTION, array($this, 'addResponseHeaderLine')); |  | ||||||
|         return $this; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Handle writing the response headers |  | ||||||
|      * |  | ||||||
|      * @param resource $curl The current curl resource |  | ||||||
|      * @param string $header_line A line from the list of response headers |  | ||||||
|      * |  | ||||||
|      * @return int Returns the length of the $header_line |  | ||||||
|      */ |  | ||||||
|     public function addResponseHeaderLine($curl, $header_line) |  | ||||||
|     { |  | ||||||
|         $trimmed_header = trim($header_line, "\r\n"); |  | ||||||
|  |  | ||||||
|         if ($trimmed_header === "") { |  | ||||||
|             $this->response_header_continue = false; |  | ||||||
|         } elseif (strtolower($trimmed_header) === 'http/1.1 100 continue') { |  | ||||||
|             $this->response_header_continue = true; |  | ||||||
|         } elseif (!$this->response_header_continue) { |  | ||||||
|             $this->response_headers[] = $trimmed_header; |  | ||||||
|         } |  | ||||||
|          |  | ||||||
|         return strlen($header_line); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     // protected methods |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Execute the curl request based on the respectiv settings. |  | ||||||
|      * |  | ||||||
|      * @return int Returns the error code for the current curl request |  | ||||||
|      */ |  | ||||||
|     protected function exec() |  | ||||||
|     { |  | ||||||
|         $this->response_headers = array(); |  | ||||||
|         $this->response = curl_exec($this->curl); |  | ||||||
|         $this->curl_error_code = curl_errno($this->curl); |  | ||||||
|         $this->curl_error_message = curl_error($this->curl); |  | ||||||
|         $this->curl_error = !($this->curl_error_code === 0); |  | ||||||
|         $this->http_status_code = curl_getinfo($this->curl, CURLINFO_HTTP_CODE); |  | ||||||
|         $this->http_error = in_array(floor($this->http_status_code / 100), array(4, 5)); |  | ||||||
|         $this->error = $this->curl_error || $this->http_error; |  | ||||||
|         $this->error_code = $this->error ? ($this->curl_error ? $this->curl_error_code : $this->http_status_code) : 0; |  | ||||||
|         $this->request_headers = preg_split('/\r\n/', curl_getinfo($this->curl, CURLINFO_HEADER_OUT), null, PREG_SPLIT_NO_EMPTY); |  | ||||||
|         $this->http_error_message = $this->error ? (isset($this->response_headers['0']) ? $this->response_headers['0'] : '') : ''; |  | ||||||
|         $this->error_message = $this->curl_error ? $this->curl_error_message : $this->http_error_message; |  | ||||||
|  |  | ||||||
|         return $this->error_code; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * @param array|object|string $data |  | ||||||
|      */ |  | ||||||
|     protected function preparePayload($data) |  | ||||||
|     { |  | ||||||
|         $this->setOpt(CURLOPT_POST, true); |  | ||||||
|  |  | ||||||
|         if (is_array($data) || is_object($data)) { |  | ||||||
|             $skip = false; |  | ||||||
|             foreach ($data as $key => $value) { |  | ||||||
|                 // If a value is an instance of CurlFile skip the http_build_query |  | ||||||
|                 // see issue https://github.com/php-mod/curl/issues/46 |  | ||||||
|                 // suggestion from: https://stackoverflow.com/a/36603038/4611030 |  | ||||||
|                 if ($value instanceof \CurlFile) { |  | ||||||
|                     $skip = true; |  | ||||||
|                 } |  | ||||||
|             } |  | ||||||
|              |  | ||||||
|             if (!$skip) { |  | ||||||
|                 $data = http_build_query($data); |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         $this->setOpt(CURLOPT_POSTFIELDS, $data); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Set auth options for the current request. |  | ||||||
|      * |  | ||||||
|      * Available auth types are: |  | ||||||
|      * |  | ||||||
|      * + self::AUTH_BASIC |  | ||||||
|      * + self::AUTH_DIGEST |  | ||||||
|      * + self::AUTH_GSSNEGOTIATE |  | ||||||
|      * + self::AUTH_NTLM |  | ||||||
|      * + self::AUTH_ANY |  | ||||||
|      * + self::AUTH_ANYSAFE |  | ||||||
|      * |  | ||||||
|      * @param int $httpauth The type of authentication |  | ||||||
|      */ |  | ||||||
|     protected function setHttpAuth($httpauth) |  | ||||||
|     { |  | ||||||
|         $this->setOpt(CURLOPT_HTTPAUTH, $httpauth); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     // public methods |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * @deprecated calling exec() directly is discouraged |  | ||||||
|      */ |  | ||||||
|     public function _exec() |  | ||||||
|     { |  | ||||||
|         return $this->exec(); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     // functions |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Make a get request with optional data. |  | ||||||
|      * |  | ||||||
|      * The get request has no body data, the data will be correctly added to the $url with the http_build_query() method. |  | ||||||
|      * |  | ||||||
|      * @param string $url  The url to make the get request for |  | ||||||
|      * @param array  $data Optional arguments who are part of the url |  | ||||||
|      * @return self |  | ||||||
|      */ |  | ||||||
|     public function get($url, $data = array()) |  | ||||||
|     { |  | ||||||
|         if (count($data) > 0) { |  | ||||||
|             $this->setOpt(CURLOPT_URL, $url.'?'.http_build_query($data)); |  | ||||||
|         } else { |  | ||||||
|             $this->setOpt(CURLOPT_URL, $url); |  | ||||||
|         } |  | ||||||
|         $this->setOpt(CURLOPT_HTTPGET, true); |  | ||||||
|         $this->exec(); |  | ||||||
|         return $this; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Make a post request with optional post data. |  | ||||||
|      * |  | ||||||
|      * @param string $url  The url to make the post request |  | ||||||
|      * @param array  $data Post data to pass to the url |  | ||||||
|      * @return self |  | ||||||
|      */ |  | ||||||
|     public function post($url, $data = array()) |  | ||||||
|     { |  | ||||||
|         $this->setOpt(CURLOPT_URL, $url); |  | ||||||
|         $this->preparePayload($data); |  | ||||||
|         $this->exec(); |  | ||||||
|         return $this; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Make a put request with optional data. |  | ||||||
|      * |  | ||||||
|      * The put request data can be either sent via payload or as get paramters of the string. |  | ||||||
|      * |  | ||||||
|      * @param string $url The url to make the put request |  | ||||||
|      * @param array $data Optional data to pass to the $url |  | ||||||
|      * @param bool $payload Whether the data should be transmitted trough payload or as get parameters of the string |  | ||||||
|      * @return self |  | ||||||
|      */ |  | ||||||
|     public function put($url, $data = array(), $payload = false) |  | ||||||
|     { |  | ||||||
|         if (! empty($data)) { |  | ||||||
|             if ($payload === false) { |  | ||||||
|                 $url .= '?'.http_build_query($data); |  | ||||||
|             } else { |  | ||||||
|                 $this->preparePayload($data); |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         $this->setOpt(CURLOPT_URL, $url); |  | ||||||
|         $this->setOpt(CURLOPT_CUSTOMREQUEST, 'PUT'); |  | ||||||
|         $this->exec(); |  | ||||||
|         return $this; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Make a patch request with optional data. |  | ||||||
|      * |  | ||||||
|      * The patch request data can be either sent via payload or as get paramters of the string. |  | ||||||
|      * |  | ||||||
|      * @param string $url The url to make the patch request |  | ||||||
|      * @param array $data Optional data to pass to the $url |  | ||||||
|      * @param bool $payload Whether the data should be transmitted trough payload or as get parameters of the string |  | ||||||
|      * @return self |  | ||||||
|      */ |  | ||||||
|     public function patch($url, $data = array(), $payload = false) |  | ||||||
|     { |  | ||||||
|         if (! empty($data)) { |  | ||||||
|             if ($payload === false) { |  | ||||||
|                 $url .= '?'.http_build_query($data); |  | ||||||
|             } else { |  | ||||||
|                 $this->preparePayload($data); |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         $this->setOpt(CURLOPT_URL, $url); |  | ||||||
|         $this->setOpt(CURLOPT_CUSTOMREQUEST, 'PATCH'); |  | ||||||
|         $this->exec(); |  | ||||||
|         return $this; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Make a delete request with optional data. |  | ||||||
|      * |  | ||||||
|      * @param string $url The url to make the delete request |  | ||||||
|      * @param array $data Optional data to pass to the $url |  | ||||||
|      * @param bool $payload Whether the data should be transmitted trough payload or as get parameters of the string |  | ||||||
|      * @return self |  | ||||||
|      */ |  | ||||||
|     public function delete($url, $data = array(), $payload = false) |  | ||||||
|     { |  | ||||||
|         if (! empty($data)) { |  | ||||||
|             if ($payload === false) { |  | ||||||
|                 $url .= '?'.http_build_query($data); |  | ||||||
|             } else { |  | ||||||
|                 $this->preparePayload($data); |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         $this->setOpt(CURLOPT_URL, $url); |  | ||||||
|         $this->setOpt(CURLOPT_CUSTOMREQUEST, 'DELETE'); |  | ||||||
|         $this->exec(); |  | ||||||
|         return $this; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     // setters |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Pass basic auth data. |  | ||||||
|      * |  | ||||||
|      * If the the rquested url is secured by an httaccess basic auth mechanism you can use this method to provided the auth data. |  | ||||||
|      * |  | ||||||
|      * ```php |  | ||||||
|      * $curl = new Curl(); |  | ||||||
|      * $curl->setBasicAuthentication('john', 'doe'); |  | ||||||
|      * $curl->get('http://example.com/secure.php'); |  | ||||||
|      * ``` |  | ||||||
|      * |  | ||||||
|      * @param string $username The username for the authentification |  | ||||||
|      * @param string $password The password for the given username for the authentification |  | ||||||
|      * @return self |  | ||||||
|      */ |  | ||||||
|     public function setBasicAuthentication($username, $password) |  | ||||||
|     { |  | ||||||
|         $this->setHttpAuth(self::AUTH_BASIC); |  | ||||||
|         $this->setOpt(CURLOPT_USERPWD, $username.':'.$password); |  | ||||||
|         return $this; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Provide optional header informations. |  | ||||||
|      * |  | ||||||
|      * In order to pass optional headers by key value pairing: |  | ||||||
|      * |  | ||||||
|      * ```php |  | ||||||
|      * $curl = new Curl(); |  | ||||||
|      * $curl->setHeader('X-Requested-With', 'XMLHttpRequest'); |  | ||||||
|      * $curl->get('http://example.com/request.php'); |  | ||||||
|      * ``` |  | ||||||
|      * |  | ||||||
|      * @param string $key   The header key |  | ||||||
|      * @param string $value The value for the given header key |  | ||||||
|      * @return self |  | ||||||
|      */ |  | ||||||
|     public function setHeader($key, $value) |  | ||||||
|     { |  | ||||||
|         $this->_headers[$key] = $key.': '.$value; |  | ||||||
|         $this->setOpt(CURLOPT_HTTPHEADER, array_values($this->_headers)); |  | ||||||
|         return $this; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Provide a User Agent. |  | ||||||
|      * |  | ||||||
|      * In order to provide you cusomtized user agent name you can use this method. |  | ||||||
|      * |  | ||||||
|      * ```php |  | ||||||
|      * $curl = new Curl(); |  | ||||||
|      * $curl->setUserAgent('My John Doe Agent 1.0'); |  | ||||||
|      * $curl->get('http://example.com/request.php'); |  | ||||||
|      * ``` |  | ||||||
|      * |  | ||||||
|      * @param string $useragent The name of the user agent to set for the current request |  | ||||||
|      * @return self |  | ||||||
|      */ |  | ||||||
|     public function setUserAgent($useragent) |  | ||||||
|     { |  | ||||||
|         $this->setOpt(CURLOPT_USERAGENT, $useragent); |  | ||||||
|         return $this; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * @deprecated Call setReferer() instead |  | ||||||
|      */ |  | ||||||
|     public function setReferrer($referrer) |  | ||||||
|     { |  | ||||||
|         $this->setReferer($referrer); |  | ||||||
|         return $this; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Set the HTTP referer header. |  | ||||||
|      * |  | ||||||
|      * The $referer informations can help identify the requested client where the requested was made. |  | ||||||
|      * |  | ||||||
|      * @param string $referer An url to pass and will be set as referer header |  | ||||||
|      * @return self |  | ||||||
|      */ |  | ||||||
|     public function setReferer($referer) |  | ||||||
|     { |  | ||||||
|         $this->setOpt(CURLOPT_REFERER, $referer); |  | ||||||
|         return $this; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Set contents of HTTP Cookie header. |  | ||||||
|      * |  | ||||||
|      * @param string $key   The name of the cookie |  | ||||||
|      * @param string $value The value for the provided cookie name |  | ||||||
|      * @return self |  | ||||||
|      */ |  | ||||||
|     public function setCookie($key, $value) |  | ||||||
|     { |  | ||||||
|         $this->_cookies[$key] = $value; |  | ||||||
|         $this->setOpt(CURLOPT_COOKIE, http_build_query($this->_cookies, '', '; ')); |  | ||||||
|         return $this; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Set customized curl options. |  | ||||||
|      * |  | ||||||
|      * To see a full list of options: http://php.net/curl_setopt |  | ||||||
|      * |  | ||||||
|      * @see http://php.net/curl_setopt |  | ||||||
|      * |  | ||||||
|      * @param int   $option The curl option constante e.g. `CURLOPT_AUTOREFERER`, `CURLOPT_COOKIESESSION` |  | ||||||
|      * @param mixed $value  The value to pass for the given $option |  | ||||||
|      */ |  | ||||||
|     public function setOpt($option, $value) |  | ||||||
|     { |  | ||||||
|         return curl_setopt($this->curl, $option, $value); |  | ||||||
|     } |  | ||||||
|      |  | ||||||
|     /** |  | ||||||
|     * Get customized curl options. |  | ||||||
|     * |  | ||||||
|     * To see a full list of options: http://php.net/curl_getinfo |  | ||||||
|     * |  | ||||||
|     * @see http://php.net/curl_getinfo |  | ||||||
|     * |  | ||||||
|     * @param int   $option The curl option constante e.g. `CURLOPT_AUTOREFERER`, `CURLOPT_COOKIESESSION` |  | ||||||
|     * @param mixed $value  The value to check for the given $option |  | ||||||
|     */ |  | ||||||
|     public function getOpt($option) |  | ||||||
|     { |  | ||||||
|         return curl_getinfo($this->curl, $option); |  | ||||||
|     } |  | ||||||
|      |  | ||||||
|     /** |  | ||||||
|     * Return the endpoint set for curl |  | ||||||
|     * |  | ||||||
|     * @see http://php.net/curl_getinfo |  | ||||||
|     * |  | ||||||
|     * @return string of endpoint |  | ||||||
|     */ |  | ||||||
|     public function getEndpoint() |  | ||||||
|     { |  | ||||||
|         return $this->getOpt(CURLINFO_EFFECTIVE_URL); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Enable verbositiy. |  | ||||||
|      * |  | ||||||
|      * @todo As to keep naming convention it should be renamed to `setVerbose()` |  | ||||||
|      * |  | ||||||
|      * @param string $on |  | ||||||
|      * @return self |  | ||||||
|      */ |  | ||||||
|     public function verbose($on = true) |  | ||||||
|     { |  | ||||||
|         $this->setOpt(CURLOPT_VERBOSE, $on); |  | ||||||
|         return $this; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Reset all curl options. |  | ||||||
|      * |  | ||||||
|      * In order to make multiple requests with the same curl object all settings requires to be reset. |  | ||||||
|      * @return self |  | ||||||
|      */ |  | ||||||
|     public function reset() |  | ||||||
|     { |  | ||||||
|         $this->close(); |  | ||||||
|         $this->_cookies = array(); |  | ||||||
|         $this->_headers = array(); |  | ||||||
|         $this->error = false; |  | ||||||
|         $this->error_code = 0; |  | ||||||
|         $this->error_message = null; |  | ||||||
|         $this->curl_error = false; |  | ||||||
|         $this->curl_error_code = 0; |  | ||||||
|         $this->curl_error_message = null; |  | ||||||
|         $this->http_error = false; |  | ||||||
|         $this->http_status_code = 0; |  | ||||||
|         $this->http_error_message = null; |  | ||||||
|         $this->request_headers = null; |  | ||||||
|         $this->response_headers = array(); |  | ||||||
|         $this->response = null; |  | ||||||
|         $this->init(); |  | ||||||
|         return $this; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Closing the current open curl resource. |  | ||||||
|      * @return self |  | ||||||
|      */ |  | ||||||
|     public function close() |  | ||||||
|     { |  | ||||||
|         if (is_resource($this->curl)) { |  | ||||||
|             curl_close($this->curl); |  | ||||||
|         } |  | ||||||
|         return $this; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Close the connection when the Curl object will be destroyed. |  | ||||||
|      */ |  | ||||||
|     public function __destruct() |  | ||||||
|     { |  | ||||||
|         $this->close(); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Was an 'info' header returned. |  | ||||||
|      * @return bool |  | ||||||
|      */ |  | ||||||
|     public function isInfo() |  | ||||||
|     { |  | ||||||
|         return $this->http_status_code >= 100 && $this->http_status_code < 200; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Was an 'OK' response returned. |  | ||||||
|      * @return bool |  | ||||||
|      */ |  | ||||||
|     public function isSuccess() |  | ||||||
|     { |  | ||||||
|         return $this->http_status_code >= 200 && $this->http_status_code < 300; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Was a 'redirect' returned. |  | ||||||
|      * @return bool |  | ||||||
|      */ |  | ||||||
|     public function isRedirect() |  | ||||||
|     { |  | ||||||
|         return $this->http_status_code >= 300 && $this->http_status_code < 400; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Was an 'error' returned (client error or server error). |  | ||||||
|      * @return bool |  | ||||||
|      */ |  | ||||||
|     public function isError() |  | ||||||
|     { |  | ||||||
|         return $this->http_status_code >= 400 && $this->http_status_code < 600; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Was a 'client error' returned. |  | ||||||
|      * @return bool |  | ||||||
|      */ |  | ||||||
|     public function isClientError() |  | ||||||
|     { |  | ||||||
|         return $this->http_status_code >= 400 && $this->http_status_code < 500; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * Was a 'server error' returned. |  | ||||||
|      * @return bool |  | ||||||
|      */ |  | ||||||
|     public function isServerError() |  | ||||||
|     { |  | ||||||
|         return $this->http_status_code >= 500 && $this->http_status_code < 600; |  | ||||||
|     } |  | ||||||
|      |  | ||||||
|     /** |  | ||||||
|      * Get a specific response header key or all values from the response headers array. |  | ||||||
|      * |  | ||||||
|      * Usage example: |  | ||||||
|      * |  | ||||||
|      * ```php |  | ||||||
|      * $curl = (new Curl())->get('http://example.com'); |  | ||||||
|      * |  | ||||||
|      * echo $curl->getResponseHeaders('Content-Type'); |  | ||||||
|      * ``` |  | ||||||
|      * |  | ||||||
|      * Or in order to dump all keys with the given values use: |  | ||||||
|      * |  | ||||||
|      * ```php |  | ||||||
|      * $curl = (new Curl())->get('http://example.com'); |  | ||||||
|      * |  | ||||||
|      * var_dump($curl->getResponseHeaders()); |  | ||||||
|      * ``` |  | ||||||
|      * |  | ||||||
|      * @param string $headerKey Optional key to get from the array. |  | ||||||
|      * @return bool|string |  | ||||||
|      * @since 1.9 |  | ||||||
|      */ |  | ||||||
|     public function getResponseHeaders($headerKey = null) |  | ||||||
|     { |  | ||||||
|         $headers = array(); |  | ||||||
|         $headerKey = strtolower($headerKey); |  | ||||||
|          |  | ||||||
|         foreach ($this->response_headers as $header) { |  | ||||||
|             $parts = explode(":", $header, 2); |  | ||||||
|              |  | ||||||
|             $key = isset($parts[0]) ? $parts[0] : null; |  | ||||||
|             $value = isset($parts[1]) ? $parts[1] : null; |  | ||||||
|              |  | ||||||
|             $headers[trim(strtolower($key))] = trim($value); |  | ||||||
|         } |  | ||||||
|          |  | ||||||
|         if ($headerKey) { |  | ||||||
|             return isset($headers[$headerKey]) ? $headers[$headerKey] : false; |  | ||||||
|         } |  | ||||||
|          |  | ||||||
|         return $headers; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public function getResponse() |  | ||||||
|     { |  | ||||||
|         return $this->response; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public function getErrorCode() |  | ||||||
|     { |  | ||||||
|         return $this->curl_error_code; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public function getErrorMessage() |  | ||||||
|     { |  | ||||||
|         return $this->curl_error_message; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     public function getHttpStatus() |  | ||||||
|     { |  | ||||||
|         return $this->http_status_code; |  | ||||||
|     } |  | ||||||
| } |  | ||||||
							
								
								
									
										277
									
								
								vendor/curl/curl/tests/CurlTest.php
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										277
									
								
								vendor/curl/curl/tests/CurlTest.php
									
									
									
									
										vendored
									
									
								
							| @@ -1,277 +0,0 @@ | |||||||
| <?php |  | ||||||
|  |  | ||||||
| namespace Curl; |  | ||||||
|  |  | ||||||
| class CurlTest extends \PHPUnit_Framework_TestCase |  | ||||||
| { |  | ||||||
|  |  | ||||||
| 	const TEST_URL = 'http://server_test'; |  | ||||||
|  |  | ||||||
| 	/** |  | ||||||
| 	 * |  | ||||||
| 	 * @var Curl |  | ||||||
| 	 */ |  | ||||||
| 	protected $curl; |  | ||||||
|  |  | ||||||
| 	function setUp() { |  | ||||||
| 		$this->curl = new Curl(); |  | ||||||
| 		$this->curl->setOpt(CURLOPT_SSL_VERIFYPEER, FALSE); |  | ||||||
| 		$this->curl->setOpt(CURLOPT_SSL_VERIFYHOST, FALSE); |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	function server($request_method, $data='') { |  | ||||||
| 		$request_method = strtolower($request_method); |  | ||||||
| 		$this->curl->$request_method(self::TEST_URL . '/server.php', $data); |  | ||||||
| 		return $this->curl->response; |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	public function testExtensionLoaded() { |  | ||||||
| 			 |  | ||||||
| 		$this->assertTrue(extension_loaded('curl')); |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	public function testUserAgent() { |  | ||||||
| 			 |  | ||||||
| 		$this->curl->setUserAgent(Curl::USER_AGENT); |  | ||||||
| 		$this->assertEquals(Curl::USER_AGENT, $this->server('GET', array( |  | ||||||
| 				'test' => 'server', |  | ||||||
| 				'key' => 'HTTP_USER_AGENT', |  | ||||||
| 		))); |  | ||||||
|  |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	public function testGet() { |  | ||||||
| 		$this->assertTrue($this->server('GET', array( |  | ||||||
| 				'test' => 'server', |  | ||||||
| 				'key' => 'REQUEST_METHOD', |  | ||||||
| 		)) === 'GET'); |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	public function testPostRequestMethod() { |  | ||||||
| 		$this->assertTrue($this->server('POST', array( |  | ||||||
| 				'test' => 'server', |  | ||||||
| 				'key' => 'REQUEST_METHOD', |  | ||||||
| 		)) === 'POST'); |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	public function testPostData() { |  | ||||||
| 		$this->assertTrue($this->server('POST', array( |  | ||||||
| 				'test' => 'post', |  | ||||||
| 				'key' => 'test', |  | ||||||
| 		)) === 'post'); |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	public function testPostMultidimensionalData() { |  | ||||||
|  |  | ||||||
| 		$data = array( |  | ||||||
| 				'key' => 'file', |  | ||||||
| 				'file' => array( |  | ||||||
| 						'wibble', |  | ||||||
| 						'wubble', |  | ||||||
| 						'wobble', |  | ||||||
| 				), |  | ||||||
| 		); |  | ||||||
|  |  | ||||||
| 		$this->curl->post(self::TEST_URL . '/post_multidimensional.php', $data); |  | ||||||
|  |  | ||||||
| 		$this->assertEquals( |  | ||||||
| 				'key=file&file%5B0%5D=wibble&file%5B1%5D=wubble&file%5B2%5D=wobble', |  | ||||||
| 				$this->curl->response); |  | ||||||
|  |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	public function testPostFilePathUpload() |  | ||||||
|     { |  | ||||||
|  |  | ||||||
| 		$file_path = $this->get_png(); |  | ||||||
|  |  | ||||||
| 		$data = array( |  | ||||||
| 				'key' => 'image', |  | ||||||
| 				'image' => '@' . $file_path, |  | ||||||
| 		); |  | ||||||
|  |  | ||||||
|         $this->curl->setOpt(CURLOPT_RETURNTRANSFER, true); |  | ||||||
|  |  | ||||||
| 		$this->curl->post(self::TEST_URL . '/post_file_path_upload.php', $data); |  | ||||||
|  |  | ||||||
| 		$this->assertEquals( |  | ||||||
| 				array( |  | ||||||
| 						'request_method' => 'POST', |  | ||||||
| 						'key' => 'image', |  | ||||||
| 						'mime_content_type' => 'ERROR', // Temp change the image response, but assuming this is not fixing the issue indeed. |  | ||||||
| 						//'mime_content_type' => 'image/png' |  | ||||||
| 				), |  | ||||||
|                 json_decode($this->curl->response, true)); |  | ||||||
|  |  | ||||||
| 		unlink($file_path); |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	public function testPutRequestMethod() { |  | ||||||
| 		$this->assertTrue($this->server('PUT', array( |  | ||||||
| 				'test' => 'server', |  | ||||||
| 				'key' => 'REQUEST_METHOD', |  | ||||||
| 		)) === 'PUT'); |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	public function testPutData() { |  | ||||||
| 		$this->assertTrue($this->server('PUT', array( |  | ||||||
| 				'test' => 'put', |  | ||||||
| 				'key' => 'test', |  | ||||||
| 		)) === 'put'); |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	public function testPutFileHandle() { |  | ||||||
| 		$png = $this->create_png(); |  | ||||||
| 		$tmp_file = $this->create_tmp_file($png); |  | ||||||
|  |  | ||||||
| 		$this->curl->setOpt(CURLOPT_PUT, TRUE); |  | ||||||
| 		$this->curl->setOpt(CURLOPT_INFILE, $tmp_file); |  | ||||||
| 		$this->curl->setOpt(CURLOPT_INFILESIZE, strlen($png)); |  | ||||||
| 		$this->curl->put(self::TEST_URL . '/server.php', array( |  | ||||||
| 				'test' => 'put_file_handle', |  | ||||||
| 		)); |  | ||||||
|  |  | ||||||
| 		fclose($tmp_file); |  | ||||||
|  |  | ||||||
| 		$this->assertTrue($this->curl->response === 'image/png'); |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	public function testDelete() { |  | ||||||
| 		$this->assertTrue($this->server('DELETE', array( |  | ||||||
| 				'test' => 'server', |  | ||||||
| 				'key' => 'REQUEST_METHOD', |  | ||||||
| 		)) === 'DELETE'); |  | ||||||
|  |  | ||||||
| 		$this->assertTrue($this->server('DELETE', array( |  | ||||||
| 				'test' => 'delete', |  | ||||||
| 				'key' => 'test', |  | ||||||
| 		)) === 'delete'); |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	public function testBasicHttpAuth() { |  | ||||||
|  |  | ||||||
| 		$data = array(); |  | ||||||
|  |  | ||||||
| 		$this->curl->get(self::TEST_URL . '/http_basic_auth.php', $data); |  | ||||||
|  |  | ||||||
| 		$this->assertEquals('canceled', $this->curl->response); |  | ||||||
|  |  | ||||||
| 		$username = 'myusername'; |  | ||||||
| 		$password = 'mypassword'; |  | ||||||
|  |  | ||||||
| 		$this->curl->setBasicAuthentication($username, $password); |  | ||||||
|  |  | ||||||
| 		$this->curl->get(self::TEST_URL . '/http_basic_auth.php', $data); |  | ||||||
|  |  | ||||||
| 		$this->assertEquals( |  | ||||||
| 				'{"username":"myusername","password":"mypassword"}', |  | ||||||
| 				$this->curl->response); |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	public function testReferrer() { |  | ||||||
| 		$this->curl->setReferer('myreferrer'); |  | ||||||
| 		$this->assertTrue($this->server('GET', array( |  | ||||||
| 				'test' => 'server', |  | ||||||
| 				'key' => 'HTTP_REFERER', |  | ||||||
| 		)) === 'myreferrer'); |  | ||||||
| 	} |  | ||||||
| 	 |  | ||||||
| 	public function testDeprecatedReferrer() { |  | ||||||
| 		$this->curl->setReferrer('myreferrer'); |  | ||||||
| 		$this->assertTrue($this->server('GET', array( |  | ||||||
| 				'test' => 'server', |  | ||||||
| 				'key' => 'HTTP_REFERER', |  | ||||||
| 		)) === 'myreferrer'); |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	public function testCookies() { |  | ||||||
| 		$this->curl->setCookie('mycookie', 'yum'); |  | ||||||
| 		$this->assertTrue($this->server('GET', array( |  | ||||||
| 				'test' => 'cookie', |  | ||||||
| 				'key' => 'mycookie', |  | ||||||
| 		)) === 'yum'); |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	public function testError() { |  | ||||||
| 		$this->curl->setOpt(CURLOPT_CONNECTTIMEOUT_MS, 2000); |  | ||||||
| 		$this->curl->get('http://1.2.3.4/'); |  | ||||||
| 		$this->assertTrue($this->curl->error === TRUE); |  | ||||||
| 		$this->assertTrue($this->curl->curl_error === TRUE); |  | ||||||
| 		$this->assertTrue($this->curl->curl_error_code === CURLE_OPERATION_TIMEOUTED); |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	public function testHeaders() { |  | ||||||
| 		$this->curl->setHeader('Content-Type', 'application/json'); |  | ||||||
| 		$this->curl->setHeader('X-Requested-With', 'XMLHttpRequest'); |  | ||||||
| 		$this->curl->setHeader('Accept', 'application/json'); |  | ||||||
| 		$this->assertTrue($this->server('GET', array( |  | ||||||
| 				'test' => 'server', |  | ||||||
| 				'key' => 'CONTENT_TYPE', |  | ||||||
| 		)) === 'application/json'); |  | ||||||
| 		$this->assertTrue($this->server('GET', array( |  | ||||||
| 				'test' => 'server', |  | ||||||
| 				'key' => 'HTTP_X_REQUESTED_WITH', |  | ||||||
| 		)) === 'XMLHttpRequest'); |  | ||||||
| 		$this->assertTrue($this->server('GET', array( |  | ||||||
| 				'test' => 'server', |  | ||||||
| 				'key' => 'HTTP_ACCEPT', |  | ||||||
| 		)) === 'application/json'); |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	public function testHeadersWithContinue() { |  | ||||||
| 		$headers = file(dirname(__FILE__) . '/data/response_headers_with_continue.txt'); |  | ||||||
| 		 |  | ||||||
| 		$this->curl->response_headers = array(); |  | ||||||
| 		foreach($headers as $header_line) { |  | ||||||
| 			$this->curl->addResponseHeaderLine(null, $header_line); |  | ||||||
| 		} |  | ||||||
|  |  | ||||||
| 		$expected_headers = array_values(array_filter(array_map(function($l) { return trim($l, "\r\n"); }, array_slice($headers, 1)))); |  | ||||||
|  |  | ||||||
| 		$this->assertEquals($expected_headers, $this->curl->response_headers); |  | ||||||
| 	} |  | ||||||
| 	 |  | ||||||
| 	public function testReset() |  | ||||||
| 	{ |  | ||||||
| 		$curl = $this->getMockBuilder(get_class($this->curl))->getMock(); |  | ||||||
| 		$curl->expects($this->once())->method('reset')->with(); |  | ||||||
| 		// lets make small request |  | ||||||
| 		$curl->setOpt(CURLOPT_CONNECTTIMEOUT_MS, 2000); |  | ||||||
| 		$curl->get('http://1.2.3.4/'); |  | ||||||
| 		$curl->reset(); |  | ||||||
| 		$this->assertFalse($curl->error); |  | ||||||
| 		$this->assertSame(0, $curl->error_code); |  | ||||||
| 		$this->assertNull($curl->error_message); |  | ||||||
| 		$this->assertFalse($curl->curl_error); |  | ||||||
| 		$this->assertSame(0, $curl->curl_error_code); |  | ||||||
| 		$this->assertNull($curl->curl_error_message); |  | ||||||
| 		$this->assertFalse($curl->http_error); |  | ||||||
| 		$this->assertSame(0, $curl->http_status_code); |  | ||||||
| 		$this->assertNull($curl->http_error_message); |  | ||||||
| 		$this->assertNull($curl->request_headers); |  | ||||||
| 		$this->assertEmpty($curl->response_headers); |  | ||||||
| 		$this->assertNull($curl->response); |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	function create_png() { |  | ||||||
| 		// PNG image data, 1 x 1, 1-bit colormap, non-interlaced |  | ||||||
| 		ob_start(); |  | ||||||
| 		imagepng(imagecreatefromstring(base64_decode('R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'))); |  | ||||||
| 		$raw_image = ob_get_contents(); |  | ||||||
| 		ob_end_clean(); |  | ||||||
| 		return $raw_image; |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	function create_tmp_file($data) { |  | ||||||
| 		$tmp_file = tmpfile(); |  | ||||||
| 		fwrite($tmp_file, $data); |  | ||||||
| 		rewind($tmp_file); |  | ||||||
| 		return $tmp_file; |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	function get_png() { |  | ||||||
| 		$tmp_filename = tempnam('/tmp', 'php-curl-class.'); |  | ||||||
| 		file_put_contents($tmp_filename, $this->create_png()); |  | ||||||
| 		return $tmp_filename; |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
| @@ -1,13 +0,0 @@ | |||||||
| HTTP/1.1 100 Continue |  | ||||||
|  |  | ||||||
| HTTP/1.1 200 OK |  | ||||||
| Server: nginx/1.1.19 |  | ||||||
| Date: Fri, 11 Aug 2017 13:22:00 GMT |  | ||||||
| Content-Type: image/jpeg |  | ||||||
| Content-Length: 62574 |  | ||||||
| Connection: close |  | ||||||
| Cache-Control: max-age=7257600 |  | ||||||
| Expires: Fri, 03 Nov 2017 13:22:00 GMT |  | ||||||
| Strict-Transport-Security: max-age=31536000; includeSubDomains |  | ||||||
| X-Frame-Option: DENY |  | ||||||
|  |  | ||||||
							
								
								
									
										
											BIN
										
									
								
								vendor/curl/curl/tests/data/test.png
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								vendor/curl/curl/tests/data/test.png
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 2.8 KiB | 
							
								
								
									
										9
									
								
								vendor/curl/curl/tests/server/Dockerfile
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										9
									
								
								vendor/curl/curl/tests/server/Dockerfile
									
									
									
									
										vendored
									
									
								
							| @@ -1,9 +0,0 @@ | |||||||
| FROM alpine:3.7 |  | ||||||
|  |  | ||||||
| RUN apk add --no-cache php5-cli php5-curl php5-gd php5-phar php5-json php5-openssl php5-dom |  | ||||||
|  |  | ||||||
| COPY php-curl-test php-curl-test |  | ||||||
|  |  | ||||||
| EXPOSE 80 |  | ||||||
|  |  | ||||||
| CMD ["php5", "-S", "0.0.0.0:80", "-t", "php-curl-test"] |  | ||||||
| @@ -1,37 +0,0 @@ | |||||||
| <?php |  | ||||||
|  |  | ||||||
| // The commands |  | ||||||
| $commands = array( |  | ||||||
|     'cd ../../.. && git pull', |  | ||||||
| ); |  | ||||||
|  |  | ||||||
| // Run the commands for output |  | ||||||
| $output = ''; |  | ||||||
| foreach($commands AS $command){ |  | ||||||
| // Run it |  | ||||||
|     $tmp = shell_exec($command); |  | ||||||
| // Output |  | ||||||
|     $output .= "<span style=\"color: #6BE234;\">\$</span> <span style=\"color: #729FCF;\">{$command}\n</span>"; |  | ||||||
|     $output .= htmlentities(trim($tmp)) . "\n"; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| // Make it pretty for manual user access (and why not?) |  | ||||||
| ?> |  | ||||||
| <!DOCTYPE HTML> |  | ||||||
| <html lang="en-US"> |  | ||||||
| <head> |  | ||||||
|     <meta charset="UTF-8"> |  | ||||||
|     <title>GIT DEPLOYMENT SCRIPT</title> |  | ||||||
| </head> |  | ||||||
| <body style="background-color: #000000; color: #FFFFFF; font-weight: bold; padding: 0 10px;"> |  | ||||||
| <pre> |  | ||||||
| . ____ . ____________________________ |  | ||||||
| |/ \| | | |  | ||||||
| [| <span style="color: #FF0000;">♥ ♥</span> |] | Git Deployment Script v0.1 | |  | ||||||
| |___==___| / © oodavid 2012 | |  | ||||||
| |____________________________| |  | ||||||
|  |  | ||||||
|     <?php echo $output; ?> |  | ||||||
| </pre> |  | ||||||
| </body> |  | ||||||
| </html> |  | ||||||
| @@ -1,14 +0,0 @@ | |||||||
| <?php |  | ||||||
|  |  | ||||||
| if (!isset($_SERVER['PHP_AUTH_USER'])) { |  | ||||||
| 	header('WWW-Authenticate: Basic realm="My Realm"'); |  | ||||||
| 	header('HTTP/1.0 401 Unauthorized'); |  | ||||||
| 	echo 'canceled'; |  | ||||||
| 	exit; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| header('Content-Type: application/json'); |  | ||||||
| echo json_encode(array( |  | ||||||
| 		'username' => $_SERVER['PHP_AUTH_USER'], |  | ||||||
| 		'password' => $_SERVER['PHP_AUTH_PW'], |  | ||||||
| )); |  | ||||||
| @@ -1,21 +0,0 @@ | |||||||
| <?php |  | ||||||
|  |  | ||||||
| $request_method = isset($_SERVER['REQUEST_METHOD']) ? |  | ||||||
| 						$_SERVER['REQUEST_METHOD'] : ''; |  | ||||||
|  |  | ||||||
| $data_values = $request_method === 'POST' ? $_POST : $_GET; |  | ||||||
|  |  | ||||||
| $key = isset($data_values['key']) ? $data_values['key'] : ''; |  | ||||||
|  |  | ||||||
| $response = array(); |  | ||||||
|  |  | ||||||
| $response['request_method'] = $request_method; |  | ||||||
| $response['key'] = $key; |  | ||||||
|  |  | ||||||
| if(isset($_FILES[$key])) { |  | ||||||
| 	$response['mime_content_type'] = mime_content_type($_FILES[$key]['tmp_name']); |  | ||||||
| } else { |  | ||||||
| 	$response['mime_content_type'] = 'ERROR'; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| echo json_encode($response); |  | ||||||
| @@ -1,4 +0,0 @@ | |||||||
| <?php |  | ||||||
|  |  | ||||||
| $http_raw_post_data = file_get_contents('php://input'); |  | ||||||
| echo $http_raw_post_data; |  | ||||||
| @@ -1,31 +0,0 @@ | |||||||
| <?php |  | ||||||
| $request_method = isset($_SERVER['REQUEST_METHOD']) ? $_SERVER['REQUEST_METHOD'] : ''; |  | ||||||
| $data_values = $request_method === 'POST' ? $_POST : $_GET; |  | ||||||
| $test = isset($data_values['test']) ? $data_values['test'] : ''; |  | ||||||
| $key = isset($data_values['key']) ? $data_values['key'] : ''; |  | ||||||
|  |  | ||||||
| if ($test === 'put_file_handle') { |  | ||||||
|     $tmp_filename = tempnam('/tmp', 'php-curl-class.'); |  | ||||||
|     file_put_contents($tmp_filename, file_get_contents('php://input')); |  | ||||||
|     echo mime_content_type($tmp_filename); |  | ||||||
|     unlink($tmp_filename); |  | ||||||
|     exit; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| header('Content-Type: text/plain'); |  | ||||||
|  |  | ||||||
| $data_mapping = array( |  | ||||||
|     'cookie' => '_COOKIE', |  | ||||||
|     'delete' => '_GET', |  | ||||||
|     'post' => '_POST', |  | ||||||
|     'put' => '_GET', |  | ||||||
|     'server' => '_SERVER', |  | ||||||
| ); |  | ||||||
|  |  | ||||||
| if(isset($data_mapping[$test])) { |  | ||||||
|     $data = ${$data_mapping[$test]}; |  | ||||||
|     $value = isset($data[$key]) ? $data[$key] : ''; |  | ||||||
| echo $value; |  | ||||||
| } else { |  | ||||||
|     echo "Error."; |  | ||||||
| } |  | ||||||
		Reference in New Issue
	
	Block a user