forked from loafle/openapi-generator-original
		
	
		
			
				
	
	
		
			485 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			485 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * Configuration
 | |
|  * PHP version 5
 | |
|  *
 | |
|  * @category Class
 | |
|  * @package  OpenAPI\Client
 | |
|  * @author   OpenAPI Generator team
 | |
|  * @link     https://openapi-generator.tech
 | |
|  */
 | |
| 
 | |
| /**
 | |
|  * OpenAPI Petstore
 | |
|  *
 | |
|  * This spec is mainly for testing Petstore server and contains fake endpoints, models. Please do not use this for any other purpose. Special characters: \" \\
 | |
|  *
 | |
|  * The version of the OpenAPI document: 1.0.0
 | |
|  * 
 | |
|  * Generated by: https://openapi-generator.tech
 | |
|  * OpenAPI Generator version: 5.0.0-SNAPSHOT
 | |
|  */
 | |
| 
 | |
| /**
 | |
|  * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 | |
|  * https://openapi-generator.tech
 | |
|  * Do not edit the class manually.
 | |
|  */
 | |
| 
 | |
| namespace OpenAPI\Client;
 | |
| 
 | |
| /**
 | |
|  * Configuration Class Doc Comment
 | |
|  * PHP version 5
 | |
|  *
 | |
|  * @category Class
 | |
|  * @package  OpenAPI\Client
 | |
|  * @author   OpenAPI Generator team
 | |
|  * @link     https://openapi-generator.tech
 | |
|  */
 | |
| class Configuration
 | |
| {
 | |
|     private static $defaultConfiguration;
 | |
| 
 | |
|     /**
 | |
|      * Associate array to store API key(s)
 | |
|      *
 | |
|      * @var string[]
 | |
|      */
 | |
|     protected $apiKeys = [];
 | |
| 
 | |
|     /**
 | |
|      * Associate array to store API prefix (e.g. Bearer)
 | |
|      *
 | |
|      * @var string[]
 | |
|      */
 | |
|     protected $apiKeyPrefixes = [];
 | |
| 
 | |
|     /**
 | |
|      * Access token for OAuth/Bearer authentication
 | |
|      *
 | |
|      * @var string
 | |
|      */
 | |
|     protected $accessToken = '';
 | |
| 
 | |
|     /**
 | |
|      * Username for HTTP basic authentication
 | |
|      *
 | |
|      * @var string
 | |
|      */
 | |
|     protected $username = '';
 | |
| 
 | |
|     /**
 | |
|      * Password for HTTP basic authentication
 | |
|      *
 | |
|      * @var string
 | |
|      */
 | |
|     protected $password = '';
 | |
| 
 | |
|     /**
 | |
|      * The host
 | |
|      *
 | |
|      * @var string
 | |
|      */
 | |
|     protected $host = 'http://petstore.swagger.io:80/v2';
 | |
| 
 | |
|     /**
 | |
|      * User agent of the HTTP request, set to "OpenAPI-Generator/{version}/PHP" by default
 | |
|      *
 | |
|      * @var string
 | |
|      */
 | |
|     protected $userAgent = 'OpenAPI-Generator/1.0.0/PHP';
 | |
| 
 | |
|     /**
 | |
|      * Debug switch (default set to false)
 | |
|      *
 | |
|      * @var bool
 | |
|      */
 | |
|     protected $debug = false;
 | |
| 
 | |
|     /**
 | |
|      * Debug file location (log to STDOUT by default)
 | |
|      *
 | |
|      * @var string
 | |
|      */
 | |
|     protected $debugFile = 'php://output';
 | |
| 
 | |
|     /**
 | |
|      * Debug file location (log to STDOUT by default)
 | |
|      *
 | |
|      * @var string
 | |
|      */
 | |
|     protected $tempFolderPath;
 | |
| 
 | |
|     /**
 | |
|      * Constructor
 | |
|      */
 | |
|     public function __construct()
 | |
|     {
 | |
|         $this->tempFolderPath = sys_get_temp_dir();
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Sets API key
 | |
|      *
 | |
|      * @param string $apiKeyIdentifier API key identifier (authentication scheme)
 | |
|      * @param string $key              API key or token
 | |
|      *
 | |
|      * @return $this
 | |
|      */
 | |
|     public function setApiKey($apiKeyIdentifier, $key)
 | |
|     {
 | |
|         $this->apiKeys[$apiKeyIdentifier] = $key;
 | |
|         return $this;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Gets API key
 | |
|      *
 | |
|      * @param string $apiKeyIdentifier API key identifier (authentication scheme)
 | |
|      *
 | |
|      * @return string API key or token
 | |
|      */
 | |
|     public function getApiKey($apiKeyIdentifier)
 | |
|     {
 | |
|         return isset($this->apiKeys[$apiKeyIdentifier]) ? $this->apiKeys[$apiKeyIdentifier] : null;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Sets the prefix for API key (e.g. Bearer)
 | |
|      *
 | |
|      * @param string $apiKeyIdentifier API key identifier (authentication scheme)
 | |
|      * @param string $prefix           API key prefix, e.g. Bearer
 | |
|      *
 | |
|      * @return $this
 | |
|      */
 | |
|     public function setApiKeyPrefix($apiKeyIdentifier, $prefix)
 | |
|     {
 | |
|         $this->apiKeyPrefixes[$apiKeyIdentifier] = $prefix;
 | |
|         return $this;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Gets API key prefix
 | |
|      *
 | |
|      * @param string $apiKeyIdentifier API key identifier (authentication scheme)
 | |
|      *
 | |
|      * @return string
 | |
|      */
 | |
|     public function getApiKeyPrefix($apiKeyIdentifier)
 | |
|     {
 | |
|         return isset($this->apiKeyPrefixes[$apiKeyIdentifier]) ? $this->apiKeyPrefixes[$apiKeyIdentifier] : null;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Sets the access token for OAuth
 | |
|      *
 | |
|      * @param string $accessToken Token for OAuth
 | |
|      *
 | |
|      * @return $this
 | |
|      */
 | |
|     public function setAccessToken($accessToken)
 | |
|     {
 | |
|         $this->accessToken = $accessToken;
 | |
|         return $this;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Gets the access token for OAuth
 | |
|      *
 | |
|      * @return string Access token for OAuth
 | |
|      */
 | |
|     public function getAccessToken()
 | |
|     {
 | |
|         return $this->accessToken;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Sets the username for HTTP basic authentication
 | |
|      *
 | |
|      * @param string $username Username for HTTP basic authentication
 | |
|      *
 | |
|      * @return $this
 | |
|      */
 | |
|     public function setUsername($username)
 | |
|     {
 | |
|         $this->username = $username;
 | |
|         return $this;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Gets the username for HTTP basic authentication
 | |
|      *
 | |
|      * @return string Username for HTTP basic authentication
 | |
|      */
 | |
|     public function getUsername()
 | |
|     {
 | |
|         return $this->username;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Sets the password for HTTP basic authentication
 | |
|      *
 | |
|      * @param string $password Password for HTTP basic authentication
 | |
|      *
 | |
|      * @return $this
 | |
|      */
 | |
|     public function setPassword($password)
 | |
|     {
 | |
|         $this->password = $password;
 | |
|         return $this;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Gets the password for HTTP basic authentication
 | |
|      *
 | |
|      * @return string Password for HTTP basic authentication
 | |
|      */
 | |
|     public function getPassword()
 | |
|     {
 | |
|         return $this->password;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Sets the host
 | |
|      *
 | |
|      * @param string $host Host
 | |
|      *
 | |
|      * @return $this
 | |
|      */
 | |
|     public function setHost($host)
 | |
|     {
 | |
|         $this->host = $host;
 | |
|         return $this;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Gets the host
 | |
|      *
 | |
|      * @return string Host
 | |
|      */
 | |
|     public function getHost()
 | |
|     {
 | |
|         return $this->host;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Sets the user agent of the api client
 | |
|      *
 | |
|      * @param string $userAgent the user agent of the api client
 | |
|      *
 | |
|      * @throws \InvalidArgumentException
 | |
|      * @return $this
 | |
|      */
 | |
|     public function setUserAgent($userAgent)
 | |
|     {
 | |
|         if (!is_string($userAgent)) {
 | |
|             throw new \InvalidArgumentException('User-agent must be a string.');
 | |
|         }
 | |
| 
 | |
|         $this->userAgent = $userAgent;
 | |
|         return $this;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Gets the user agent of the api client
 | |
|      *
 | |
|      * @return string user agent
 | |
|      */
 | |
|     public function getUserAgent()
 | |
|     {
 | |
|         return $this->userAgent;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Sets debug flag
 | |
|      *
 | |
|      * @param bool $debug Debug flag
 | |
|      *
 | |
|      * @return $this
 | |
|      */
 | |
|     public function setDebug($debug)
 | |
|     {
 | |
|         $this->debug = $debug;
 | |
|         return $this;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Gets the debug flag
 | |
|      *
 | |
|      * @return bool
 | |
|      */
 | |
|     public function getDebug()
 | |
|     {
 | |
|         return $this->debug;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Sets the debug file
 | |
|      *
 | |
|      * @param string $debugFile Debug file
 | |
|      *
 | |
|      * @return $this
 | |
|      */
 | |
|     public function setDebugFile($debugFile)
 | |
|     {
 | |
|         $this->debugFile = $debugFile;
 | |
|         return $this;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Gets the debug file
 | |
|      *
 | |
|      * @return string
 | |
|      */
 | |
|     public function getDebugFile()
 | |
|     {
 | |
|         return $this->debugFile;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Sets the temp folder path
 | |
|      *
 | |
|      * @param string $tempFolderPath Temp folder path
 | |
|      *
 | |
|      * @return $this
 | |
|      */
 | |
|     public function setTempFolderPath($tempFolderPath)
 | |
|     {
 | |
|         $this->tempFolderPath = $tempFolderPath;
 | |
|         return $this;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Gets the temp folder path
 | |
|      *
 | |
|      * @return string Temp folder path
 | |
|      */
 | |
|     public function getTempFolderPath()
 | |
|     {
 | |
|         return $this->tempFolderPath;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Gets the default configuration instance
 | |
|      *
 | |
|      * @return Configuration
 | |
|      */
 | |
|     public static function getDefaultConfiguration()
 | |
|     {
 | |
|         if (self::$defaultConfiguration === null) {
 | |
|             self::$defaultConfiguration = new Configuration();
 | |
|         }
 | |
| 
 | |
|         return self::$defaultConfiguration;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Sets the detault configuration instance
 | |
|      *
 | |
|      * @param Configuration $config An instance of the Configuration Object
 | |
|      *
 | |
|      * @return void
 | |
|      */
 | |
|     public static function setDefaultConfiguration(Configuration $config)
 | |
|     {
 | |
|         self::$defaultConfiguration = $config;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Gets the essential information for debugging
 | |
|      *
 | |
|      * @return string The report for debugging
 | |
|      */
 | |
|     public static function toDebugReport()
 | |
|     {
 | |
|         $report  = 'PHP SDK (OpenAPI\Client) Debug Report:' . PHP_EOL;
 | |
|         $report .= '    OS: ' . php_uname() . PHP_EOL;
 | |
|         $report .= '    PHP Version: ' . PHP_VERSION . PHP_EOL;
 | |
|         $report .= '    The version of the OpenAPI document: 1.0.0' . PHP_EOL;
 | |
|         $report .= '    Temp Folder Path: ' . self::getDefaultConfiguration()->getTempFolderPath() . PHP_EOL;
 | |
| 
 | |
|         return $report;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Get API key (with prefix if set)
 | |
|      *
 | |
|      * @param  string $apiKeyIdentifier name of apikey
 | |
|      *
 | |
|      * @return string API key with the prefix
 | |
|      */
 | |
|     public function getApiKeyWithPrefix($apiKeyIdentifier)
 | |
|     {
 | |
|         $prefix = $this->getApiKeyPrefix($apiKeyIdentifier);
 | |
|         $apiKey = $this->getApiKey($apiKeyIdentifier);
 | |
| 
 | |
|         if ($apiKey === null) {
 | |
|             return null;
 | |
|         }
 | |
| 
 | |
|         if ($prefix === null) {
 | |
|             $keyWithPrefix = $apiKey;
 | |
|         } else {
 | |
|             $keyWithPrefix = $prefix . ' ' . $apiKey;
 | |
|         }
 | |
| 
 | |
|         return $keyWithPrefix;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Returns an array of host settings
 | |
|      *
 | |
|      * @return an array of host settings
 | |
|      */
 | |
|     public function getHostSettings()
 | |
|     {
 | |
|         return array(
 | |
|           array(
 | |
|             "url" => "http://petstore.swagger.io:80/v2",
 | |
|             "description" => "No description provided",
 | |
|           )
 | |
|         );
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Returns URL based on the index and variables
 | |
|      *
 | |
|      * @param index array index of the host settings
 | |
|      * @param variables hash of variable and the corresponding value (optional)
 | |
|      * @return URL based on host settings
 | |
|      */
 | |
|     public function getHostFromSettings($index, $variables = null)
 | |
|     {
 | |
|         if (null === $variables) {
 | |
|             $variables = array();
 | |
|         }
 | |
| 
 | |
|         $hosts = $this->getHostSettings();
 | |
| 
 | |
|         // check array index out of bound
 | |
|         if ($index < 0 || $index >= sizeof($hosts)) {
 | |
|             throw new \InvalidArgumentException("Invalid index $index when selecting the host. Must be less than ".sizeof($hosts));
 | |
|         }
 | |
| 
 | |
|         $host = $hosts[$index];
 | |
|         $url = $host["url"];
 | |
| 
 | |
|         // go through variable and assign a value
 | |
|         foreach ($host["variables"] as $name => $variable) {
 | |
|             if (array_key_exists($name, $variables)) { // check to see if it's in the variables provided by the user
 | |
|                 if (in_array($variables[$name], $variable["enum_values"])) { // check to see if the value is in the enum
 | |
|                     $url = str_replace("{".$name."}", $variables[$name], $url);
 | |
|                 } else {
 | |
|                     throw new \InvalidArgumentException("The variable `$name` in the host URL has invalid value ".$variables[$name].". Must be ".join(',', $variable["enum_values"]).".");
 | |
|                 }
 | |
|             } else {
 | |
|                 // use default value
 | |
|                 $url = str_replace("{".$name."}", $variable["default_value"], $url);
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         return $url;
 | |
|     }
 | |
| }
 |