mirror of
				https://gitee.com/ledc/IYUUAutoReseed
				synced 2025-10-30 16:29:49 +00:00 
			
		
		
		
	变更忽略列表
This commit is contained in:
		
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -7,3 +7,4 @@ | ||||
| /*.sh | ||||
| .idea | ||||
| .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