example
This commit is contained in:
		
							
								
								
									
										109
									
								
								example/clients/php/SwaggerClient-php/lib/HeaderSelector.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										109
									
								
								example/clients/php/SwaggerClient-php/lib/HeaderSelector.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,109 @@
 | 
			
		||||
<?php
 | 
			
		||||
/**
 | 
			
		||||
 * ApiException
 | 
			
		||||
 * PHP version 5
 | 
			
		||||
 *
 | 
			
		||||
 * @category Class
 | 
			
		||||
 * @package  Swagger\Client
 | 
			
		||||
 * @author   Swagger Codegen team
 | 
			
		||||
 * @link     https://github.com/swagger-api/swagger-codegen
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 
 | 
			
		||||
 *
 | 
			
		||||
 * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
 | 
			
		||||
 *
 | 
			
		||||
 * OpenAPI spec version: 
 | 
			
		||||
 * 
 | 
			
		||||
 * Generated by: https://github.com/swagger-api/swagger-codegen.git
 | 
			
		||||
 * Swagger Codegen version: 2.4.18
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 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;
 | 
			
		||||
 | 
			
		||||
use \Exception;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * ApiException Class Doc Comment
 | 
			
		||||
 *
 | 
			
		||||
 * @category Class
 | 
			
		||||
 * @package  Swagger\Client
 | 
			
		||||
 * @author   Swagger Codegen team
 | 
			
		||||
 * @link     https://github.com/swagger-api/swagger-codegen
 | 
			
		||||
 */
 | 
			
		||||
class HeaderSelector
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @param string[] $accept
 | 
			
		||||
     * @param string[] $contentTypes
 | 
			
		||||
     * @return array
 | 
			
		||||
     */
 | 
			
		||||
    public function selectHeaders($accept, $contentTypes)
 | 
			
		||||
    {
 | 
			
		||||
        $headers = [];
 | 
			
		||||
 | 
			
		||||
        $accept = $this->selectAcceptHeader($accept);
 | 
			
		||||
        if ($accept !== null) {
 | 
			
		||||
            $headers['Accept'] = $accept;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        $headers['Content-Type'] = $this->selectContentTypeHeader($contentTypes);
 | 
			
		||||
        return $headers;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @param string[] $accept
 | 
			
		||||
     * @return array
 | 
			
		||||
     */
 | 
			
		||||
    public function selectHeadersForMultipart($accept)
 | 
			
		||||
    {
 | 
			
		||||
        $headers = $this->selectHeaders($accept, []);
 | 
			
		||||
 | 
			
		||||
        unset($headers['Content-Type']);
 | 
			
		||||
        return $headers;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Return the header 'Accept' based on an array of Accept provided
 | 
			
		||||
     *
 | 
			
		||||
     * @param string[] $accept Array of header
 | 
			
		||||
     *
 | 
			
		||||
     * @return string Accept (e.g. application/json)
 | 
			
		||||
     */
 | 
			
		||||
    private function selectAcceptHeader($accept)
 | 
			
		||||
    {
 | 
			
		||||
        if (count($accept) === 0 || (count($accept) === 1 && $accept[0] === '')) {
 | 
			
		||||
            return null;
 | 
			
		||||
        } elseif (preg_grep("/application\/json/i", $accept)) {
 | 
			
		||||
            return 'application/json';
 | 
			
		||||
        } else {
 | 
			
		||||
            return implode(',', $accept);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Return the content type based on an array of content-type provided
 | 
			
		||||
     *
 | 
			
		||||
     * @param string[] $contentType Array fo content-type
 | 
			
		||||
     *
 | 
			
		||||
     * @return string Content-Type (e.g. application/json)
 | 
			
		||||
     */
 | 
			
		||||
    private function selectContentTypeHeader($contentType)
 | 
			
		||||
    {
 | 
			
		||||
        if (count($contentType) === 0 || (count($contentType) === 1 && $contentType[0] === '')) {
 | 
			
		||||
            return 'application/json';
 | 
			
		||||
        } elseif (preg_grep("/application\/json/i", $contentType)) {
 | 
			
		||||
            return 'application/json';
 | 
			
		||||
        } else {
 | 
			
		||||
            return implode(',', $contentType);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user