430 lines
		
	
	
		
			9.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			430 lines
		
	
	
		
			9.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
/**
 | 
						|
 * Configuration
 | 
						|
 * PHP version 5
 | 
						|
 *
 | 
						|
 * @category Class
 | 
						|
 * @package  SendinBlue\Client
 | 
						|
 * @author   Swagger Codegen team
 | 
						|
 * @link     https://github.com/swagger-api/swagger-codegen
 | 
						|
 */
 | 
						|
 | 
						|
/**
 | 
						|
 * SendinBlue API
 | 
						|
 *
 | 
						|
 * SendinBlue provide a RESTFul API that can be used with any languages. With this API, you will be able to :   - Manage your campaigns and get the statistics   - Manage your contacts   - Send transactional Emails and SMS   - and much more...  You can download our wrappers at https://github.com/orgs/sendinblue  **Possible responses**   | Code | Message |   | :-------------: | ------------- |   | 200  | OK. Successful Request  |   | 201  | OK. Successful Creation |   | 202  | OK. Request accepted |   | 204  | OK. Successful Update/Deletion  |   | 400  | Error. Bad Request  |   | 401  | Error. Authentication Needed  |   | 402  | Error. Not enough credit, plan upgrade needed  |   | 403  | Error. Permission denied  |   | 404  | Error. Object does not exist |   | 405  | Error. Method not allowed  |   | 406  | Error. Not Acceptable  |
 | 
						|
 *
 | 
						|
 * OpenAPI spec version: 3.0.0
 | 
						|
 * Contact: contact@sendinblue.com
 | 
						|
 * Generated by: https://github.com/swagger-api/swagger-codegen.git
 | 
						|
 * Swagger Codegen version: 2.4.12
 | 
						|
 */
 | 
						|
 | 
						|
/**
 | 
						|
 * 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 SendinBlue\Client;
 | 
						|
 | 
						|
/**
 | 
						|
 * Configuration Class Doc Comment
 | 
						|
 * PHP version 5
 | 
						|
 *
 | 
						|
 * @category Class
 | 
						|
 * @package  SendinBlue\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 = 'https://api.sendinblue.com/v3';
 | 
						|
 | 
						|
    /**
 | 
						|
     * 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 (SendinBlue\Client) Debug Report:' . PHP_EOL;
 | 
						|
        $report .= '    OS: ' . php_uname() . PHP_EOL;
 | 
						|
        $report .= '    PHP Version: ' . PHP_VERSION . PHP_EOL;
 | 
						|
        $report .= '    OpenAPI Spec Version: 3.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;
 | 
						|
    }
 | 
						|
}
 |