forked from loafle/openapi-generator-original
		
	* reimplemented basic requests with httpplug * added returning headers * added query params support * removed constant reference to model class * some extra @throws; form params * form and query params encoding * file upload / form multipart * added missing response headers in WithHttpInfo calls * removed Store test From PetApiTest class * removed configuration overriding test as its now task of client adapters * updated store tests with new client initialization code * updated composer.json template * not using json_decode if response is string * renamed some variables to camelCase * removed ApiClient and Configuration classes * added HeaderSelector template * added ObjectSerializer injection * regenerated all samples * added AuthConfig and readded support for custom api keys * readded support for oauth tokens * readded basic auth; moved auth tests to separate test class * readded header params * readded support for collections in paths * readded config option; readded exception handling * file downloading; readded some Configuration properties removed earlier * readded default headers * made responses and return types work same way as earlier * made all methods static in ObjectSerializer * updated test.php, replaced autoload.php with composer's autoloader * updated api doc template * removed classes used for testing; regenerated Fake_classname_tags123Api * replaced httplug with guzzle6 * updated required php version to 5.5 * clean up * readded missing userAgent feature; removed default headers from Configuration * updated test.php * downgraded phpunit back to 4.8 to work with php5.5; fixed client initialization in some tests
		
			
				
	
	
		
			430 lines
		
	
	
		
			9.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			430 lines
		
	
	
		
			9.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * Configuration
 | |
|  * PHP version 5
 | |
|  *
 | |
|  * @category Class
 | |
|  * @package  Swagger\Client
 | |
|  * @author   Swagger Codegen team
 | |
|  * @link     https://github.com/swagger-api/swagger-codegen
 | |
|  */
 | |
| 
 | |
| /**
 | |
|  * Swagger 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: \" \\
 | |
|  *
 | |
|  * OpenAPI spec version: 1.0.0
 | |
|  * Contact: apiteam@swagger.io
 | |
|  * Generated by: https://github.com/swagger-api/swagger-codegen.git
 | |
|  *
 | |
|  */
 | |
| 
 | |
| /**
 | |
|  * NOTE: This class is auto generated by the swagger code generator program.
 | |
|  * https://github.com/swagger-api/swagger-codegen
 | |
|  * Do not edit the class manually.
 | |
|  */
 | |
| 
 | |
| namespace Swagger\Client;
 | |
| 
 | |
| /**
 | |
|  * Configuration Class Doc Comment
 | |
|  * PHP version 5
 | |
|  *
 | |
|  * @category Class
 | |
|  * @package  Swagger\Client
 | |
|  * @author   Swagger Codegen team
 | |
|  * @link     https://github.com/swagger-api/swagger-codegen
 | |
|  */
 | |
| 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
 | |
|      *
 | |
|      * @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 "PHP-Swagger" by default
 | |
|      *
 | |
|      * @var string
 | |
|      */
 | |
|     protected $userAgent = 'Swagger-Codegen/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 (Swagger\Client) Debug Report:' . PHP_EOL;
 | |
|         $report .= '    OS: ' . php_uname() . PHP_EOL;
 | |
|         $report .= '    PHP Version: ' . PHP_VERSION . PHP_EOL;
 | |
|         $report .= '    OpenAPI Spec Version: 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;
 | |
|     }
 | |
| }
 |