1184 lines
		
	
	
		
			37 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			1184 lines
		
	
	
		
			37 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| 
								 | 
							
								<?php
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * UserApiApi
							 | 
						||
| 
								 | 
							
								 * 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\Api;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								use GuzzleHttp\Client;
							 | 
						||
| 
								 | 
							
								use GuzzleHttp\ClientInterface;
							 | 
						||
| 
								 | 
							
								use GuzzleHttp\Exception\RequestException;
							 | 
						||
| 
								 | 
							
								use GuzzleHttp\Psr7\MultipartStream;
							 | 
						||
| 
								 | 
							
								use GuzzleHttp\Psr7\Request;
							 | 
						||
| 
								 | 
							
								use GuzzleHttp\RequestOptions;
							 | 
						||
| 
								 | 
							
								use Swagger\Client\ApiException;
							 | 
						||
| 
								 | 
							
								use Swagger\Client\Configuration;
							 | 
						||
| 
								 | 
							
								use Swagger\Client\HeaderSelector;
							 | 
						||
| 
								 | 
							
								use Swagger\Client\ObjectSerializer;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * UserApiApi Class Doc Comment
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * @category Class
							 | 
						||
| 
								 | 
							
								 * @package  Swagger\Client
							 | 
						||
| 
								 | 
							
								 * @author   Swagger Codegen team
							 | 
						||
| 
								 | 
							
								 * @link     https://github.com/swagger-api/swagger-codegen
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								class UserApiApi
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * @var ClientInterface
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    protected $client;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * @var Configuration
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    protected $config;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * @var HeaderSelector
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    protected $headerSelector;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * @param ClientInterface $client
							 | 
						||
| 
								 | 
							
								     * @param Configuration   $config
							 | 
						||
| 
								 | 
							
								     * @param HeaderSelector  $selector
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    public function __construct(
							 | 
						||
| 
								 | 
							
								        ClientInterface $client = null,
							 | 
						||
| 
								 | 
							
								        Configuration $config = null,
							 | 
						||
| 
								 | 
							
								        HeaderSelector $selector = null
							 | 
						||
| 
								 | 
							
								    ) {
							 | 
						||
| 
								 | 
							
								        $this->client = $client ?: new Client();
							 | 
						||
| 
								 | 
							
								        $this->config = $config ?: new Configuration();
							 | 
						||
| 
								 | 
							
								        $this->headerSelector = $selector ?: new HeaderSelector();
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * @return Configuration
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    public function getConfig()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        return $this->config;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Operation getUserInfo
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * 获取用户信息
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param  string $id id (required)
							 | 
						||
| 
								 | 
							
								     * @param  \Swagger\Client\Model\UserInfoReq $body body (required)
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @throws \Swagger\Client\ApiException on non-2xx response
							 | 
						||
| 
								 | 
							
								     * @throws \InvalidArgumentException
							 | 
						||
| 
								 | 
							
								     * @return \Swagger\Client\Model\UserInfoReply
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    public function getUserInfo($id, $body)
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        list($response) = $this->getUserInfoWithHttpInfo($id, $body);
							 | 
						||
| 
								 | 
							
								        return $response;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Operation getUserInfoWithHttpInfo
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * 获取用户信息
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param  string $id (required)
							 | 
						||
| 
								 | 
							
								     * @param  \Swagger\Client\Model\UserInfoReq $body (required)
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @throws \Swagger\Client\ApiException on non-2xx response
							 | 
						||
| 
								 | 
							
								     * @throws \InvalidArgumentException
							 | 
						||
| 
								 | 
							
								     * @return array of \Swagger\Client\Model\UserInfoReply, HTTP status code, HTTP response headers (array of strings)
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    public function getUserInfoWithHttpInfo($id, $body)
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $returnType = '\Swagger\Client\Model\UserInfoReply';
							 | 
						||
| 
								 | 
							
								        $request = $this->getUserInfoRequest($id, $body);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        try {
							 | 
						||
| 
								 | 
							
								            $options = $this->createHttpClientOption();
							 | 
						||
| 
								 | 
							
								            try {
							 | 
						||
| 
								 | 
							
								                $response = $this->client->send($request, $options);
							 | 
						||
| 
								 | 
							
								            } catch (RequestException $e) {
							 | 
						||
| 
								 | 
							
								                throw new ApiException(
							 | 
						||
| 
								 | 
							
								                    "[{$e->getCode()}] {$e->getMessage()}",
							 | 
						||
| 
								 | 
							
								                    $e->getCode(),
							 | 
						||
| 
								 | 
							
								                    $e->getResponse() ? $e->getResponse()->getHeaders() : null,
							 | 
						||
| 
								 | 
							
								                    $e->getResponse() ? $e->getResponse()->getBody()->getContents() : null
							 | 
						||
| 
								 | 
							
								                );
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            $statusCode = $response->getStatusCode();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            if ($statusCode < 200 || $statusCode > 299) {
							 | 
						||
| 
								 | 
							
								                throw new ApiException(
							 | 
						||
| 
								 | 
							
								                    sprintf(
							 | 
						||
| 
								 | 
							
								                        '[%d] Error connecting to the API (%s)',
							 | 
						||
| 
								 | 
							
								                        $statusCode,
							 | 
						||
| 
								 | 
							
								                        $request->getUri()
							 | 
						||
| 
								 | 
							
								                    ),
							 | 
						||
| 
								 | 
							
								                    $statusCode,
							 | 
						||
| 
								 | 
							
								                    $response->getHeaders(),
							 | 
						||
| 
								 | 
							
								                    $response->getBody()
							 | 
						||
| 
								 | 
							
								                );
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            $responseBody = $response->getBody();
							 | 
						||
| 
								 | 
							
								            if ($returnType === '\SplFileObject') {
							 | 
						||
| 
								 | 
							
								                $content = $responseBody; //stream goes to serializer
							 | 
						||
| 
								 | 
							
								            } else {
							 | 
						||
| 
								 | 
							
								                $content = $responseBody->getContents();
							 | 
						||
| 
								 | 
							
								                if ($returnType !== 'string') {
							 | 
						||
| 
								 | 
							
								                    $content = json_decode($content);
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            return [
							 | 
						||
| 
								 | 
							
								                ObjectSerializer::deserialize($content, $returnType, []),
							 | 
						||
| 
								 | 
							
								                $response->getStatusCode(),
							 | 
						||
| 
								 | 
							
								                $response->getHeaders()
							 | 
						||
| 
								 | 
							
								            ];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        } catch (ApiException $e) {
							 | 
						||
| 
								 | 
							
								            switch ($e->getCode()) {
							 | 
						||
| 
								 | 
							
								                case 200:
							 | 
						||
| 
								 | 
							
								                    $data = ObjectSerializer::deserialize(
							 | 
						||
| 
								 | 
							
								                        $e->getResponseBody(),
							 | 
						||
| 
								 | 
							
								                        '\Swagger\Client\Model\UserInfoReply',
							 | 
						||
| 
								 | 
							
								                        $e->getResponseHeaders()
							 | 
						||
| 
								 | 
							
								                    );
							 | 
						||
| 
								 | 
							
								                    $e->setResponseObject($data);
							 | 
						||
| 
								 | 
							
								                    break;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            throw $e;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Operation getUserInfoAsync
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * 获取用户信息
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param  string $id (required)
							 | 
						||
| 
								 | 
							
								     * @param  \Swagger\Client\Model\UserInfoReq $body (required)
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @throws \InvalidArgumentException
							 | 
						||
| 
								 | 
							
								     * @return \GuzzleHttp\Promise\PromiseInterface
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    public function getUserInfoAsync($id, $body)
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        return $this->getUserInfoAsyncWithHttpInfo($id, $body)
							 | 
						||
| 
								 | 
							
								            ->then(
							 | 
						||
| 
								 | 
							
								                function ($response) {
							 | 
						||
| 
								 | 
							
								                    return $response[0];
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								            );
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Operation getUserInfoAsyncWithHttpInfo
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * 获取用户信息
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param  string $id (required)
							 | 
						||
| 
								 | 
							
								     * @param  \Swagger\Client\Model\UserInfoReq $body (required)
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @throws \InvalidArgumentException
							 | 
						||
| 
								 | 
							
								     * @return \GuzzleHttp\Promise\PromiseInterface
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    public function getUserInfoAsyncWithHttpInfo($id, $body)
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $returnType = '\Swagger\Client\Model\UserInfoReply';
							 | 
						||
| 
								 | 
							
								        $request = $this->getUserInfoRequest($id, $body);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        return $this->client
							 | 
						||
| 
								 | 
							
								            ->sendAsync($request, $this->createHttpClientOption())
							 | 
						||
| 
								 | 
							
								            ->then(
							 | 
						||
| 
								 | 
							
								                function ($response) use ($returnType) {
							 | 
						||
| 
								 | 
							
								                    $responseBody = $response->getBody();
							 | 
						||
| 
								 | 
							
								                    if ($returnType === '\SplFileObject') {
							 | 
						||
| 
								 | 
							
								                        $content = $responseBody; //stream goes to serializer
							 | 
						||
| 
								 | 
							
								                    } else {
							 | 
						||
| 
								 | 
							
								                        $content = $responseBody->getContents();
							 | 
						||
| 
								 | 
							
								                        if ($returnType !== 'string') {
							 | 
						||
| 
								 | 
							
								                            $content = json_decode($content);
							 | 
						||
| 
								 | 
							
								                        }
							 | 
						||
| 
								 | 
							
								                    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    return [
							 | 
						||
| 
								 | 
							
								                        ObjectSerializer::deserialize($content, $returnType, []),
							 | 
						||
| 
								 | 
							
								                        $response->getStatusCode(),
							 | 
						||
| 
								 | 
							
								                        $response->getHeaders()
							 | 
						||
| 
								 | 
							
								                    ];
							 | 
						||
| 
								 | 
							
								                },
							 | 
						||
| 
								 | 
							
								                function ($exception) {
							 | 
						||
| 
								 | 
							
								                    $response = $exception->getResponse();
							 | 
						||
| 
								 | 
							
								                    $statusCode = $response->getStatusCode();
							 | 
						||
| 
								 | 
							
								                    throw new ApiException(
							 | 
						||
| 
								 | 
							
								                        sprintf(
							 | 
						||
| 
								 | 
							
								                            '[%d] Error connecting to the API (%s)',
							 | 
						||
| 
								 | 
							
								                            $statusCode,
							 | 
						||
| 
								 | 
							
								                            $exception->getRequest()->getUri()
							 | 
						||
| 
								 | 
							
								                        ),
							 | 
						||
| 
								 | 
							
								                        $statusCode,
							 | 
						||
| 
								 | 
							
								                        $response->getHeaders(),
							 | 
						||
| 
								 | 
							
								                        $response->getBody()
							 | 
						||
| 
								 | 
							
								                    );
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								            );
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Create request for operation 'getUserInfo'
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param  string $id (required)
							 | 
						||
| 
								 | 
							
								     * @param  \Swagger\Client\Model\UserInfoReq $body (required)
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @throws \InvalidArgumentException
							 | 
						||
| 
								 | 
							
								     * @return \GuzzleHttp\Psr7\Request
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    protected function getUserInfoRequest($id, $body)
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        // verify the required parameter 'id' is set
							 | 
						||
| 
								 | 
							
								        if ($id === null || (is_array($id) && count($id) === 0)) {
							 | 
						||
| 
								 | 
							
								            throw new \InvalidArgumentException(
							 | 
						||
| 
								 | 
							
								                'Missing the required parameter $id when calling getUserInfo'
							 | 
						||
| 
								 | 
							
								            );
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        // verify the required parameter 'body' is set
							 | 
						||
| 
								 | 
							
								        if ($body === null || (is_array($body) && count($body) === 0)) {
							 | 
						||
| 
								 | 
							
								            throw new \InvalidArgumentException(
							 | 
						||
| 
								 | 
							
								                'Missing the required parameter $body when calling getUserInfo'
							 | 
						||
| 
								 | 
							
								            );
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $resourcePath = '/api/user/{id}';
							 | 
						||
| 
								 | 
							
								        $formParams = [];
							 | 
						||
| 
								 | 
							
								        $queryParams = [];
							 | 
						||
| 
								 | 
							
								        $headerParams = [];
							 | 
						||
| 
								 | 
							
								        $httpBody = '';
							 | 
						||
| 
								 | 
							
								        $multipart = false;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        // path params
							 | 
						||
| 
								 | 
							
								        if ($id !== null) {
							 | 
						||
| 
								 | 
							
								            $resourcePath = str_replace(
							 | 
						||
| 
								 | 
							
								                '{' . 'id' . '}',
							 | 
						||
| 
								 | 
							
								                ObjectSerializer::toPathValue($id),
							 | 
						||
| 
								 | 
							
								                $resourcePath
							 | 
						||
| 
								 | 
							
								            );
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        // body params
							 | 
						||
| 
								 | 
							
								        $_tempBody = null;
							 | 
						||
| 
								 | 
							
								        if (isset($body)) {
							 | 
						||
| 
								 | 
							
								            $_tempBody = $body;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        if ($multipart) {
							 | 
						||
| 
								 | 
							
								            $headers = $this->headerSelector->selectHeadersForMultipart(
							 | 
						||
| 
								 | 
							
								                ['application/json']
							 | 
						||
| 
								 | 
							
								            );
							 | 
						||
| 
								 | 
							
								        } else {
							 | 
						||
| 
								 | 
							
								            $headers = $this->headerSelector->selectHeaders(
							 | 
						||
| 
								 | 
							
								                ['application/json'],
							 | 
						||
| 
								 | 
							
								                ['application/json']
							 | 
						||
| 
								 | 
							
								            );
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        // for model (json/xml)
							 | 
						||
| 
								 | 
							
								        if (isset($_tempBody)) {
							 | 
						||
| 
								 | 
							
								            // $_tempBody is the method argument, if present
							 | 
						||
| 
								 | 
							
								            $httpBody = $_tempBody;
							 | 
						||
| 
								 | 
							
								            
							 | 
						||
| 
								 | 
							
								            if($headers['Content-Type'] === 'application/json') {
							 | 
						||
| 
								 | 
							
								                // \stdClass has no __toString(), so we should encode it manually
							 | 
						||
| 
								 | 
							
								                if ($httpBody instanceof \stdClass) {
							 | 
						||
| 
								 | 
							
								                    $httpBody = \GuzzleHttp\json_encode($httpBody);
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								                // array has no __toString(), so we should encode it manually
							 | 
						||
| 
								 | 
							
								                if(is_array($httpBody)) {
							 | 
						||
| 
								 | 
							
								                    $httpBody = \GuzzleHttp\json_encode(ObjectSerializer::sanitizeForSerialization($httpBody));
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								        } elseif (count($formParams) > 0) {
							 | 
						||
| 
								 | 
							
								            if ($multipart) {
							 | 
						||
| 
								 | 
							
								                $multipartContents = [];
							 | 
						||
| 
								 | 
							
								                foreach ($formParams as $formParamName => $formParamValue) {
							 | 
						||
| 
								 | 
							
								                    $multipartContents[] = [
							 | 
						||
| 
								 | 
							
								                        'name' => $formParamName,
							 | 
						||
| 
								 | 
							
								                        'contents' => $formParamValue
							 | 
						||
| 
								 | 
							
								                    ];
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								                // for HTTP post (form)
							 | 
						||
| 
								 | 
							
								                $httpBody = new MultipartStream($multipartContents);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            } elseif ($headers['Content-Type'] === 'application/json') {
							 | 
						||
| 
								 | 
							
								                $httpBody = \GuzzleHttp\json_encode($formParams);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            } else {
							 | 
						||
| 
								 | 
							
								                // for HTTP post (form)
							 | 
						||
| 
								 | 
							
								                $httpBody = \GuzzleHttp\Psr7\build_query($formParams);
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $defaultHeaders = [];
							 | 
						||
| 
								 | 
							
								        if ($this->config->getUserAgent()) {
							 | 
						||
| 
								 | 
							
								            $defaultHeaders['User-Agent'] = $this->config->getUserAgent();
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $headers = array_merge(
							 | 
						||
| 
								 | 
							
								            $defaultHeaders,
							 | 
						||
| 
								 | 
							
								            $headerParams,
							 | 
						||
| 
								 | 
							
								            $headers
							 | 
						||
| 
								 | 
							
								        );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $query = \GuzzleHttp\Psr7\build_query($queryParams);
							 | 
						||
| 
								 | 
							
								        return new Request(
							 | 
						||
| 
								 | 
							
								            'GET',
							 | 
						||
| 
								 | 
							
								            $this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''),
							 | 
						||
| 
								 | 
							
								            $headers,
							 | 
						||
| 
								 | 
							
								            $httpBody
							 | 
						||
| 
								 | 
							
								        );
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Operation login
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * 登录
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param  \Swagger\Client\Model\LoginReq $body body (required)
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @throws \Swagger\Client\ApiException on non-2xx response
							 | 
						||
| 
								 | 
							
								     * @throws \InvalidArgumentException
							 | 
						||
| 
								 | 
							
								     * @return object
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    public function login($body)
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        list($response) = $this->loginWithHttpInfo($body);
							 | 
						||
| 
								 | 
							
								        return $response;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Operation loginWithHttpInfo
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * 登录
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param  \Swagger\Client\Model\LoginReq $body (required)
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @throws \Swagger\Client\ApiException on non-2xx response
							 | 
						||
| 
								 | 
							
								     * @throws \InvalidArgumentException
							 | 
						||
| 
								 | 
							
								     * @return array of object, HTTP status code, HTTP response headers (array of strings)
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    public function loginWithHttpInfo($body)
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $returnType = 'object';
							 | 
						||
| 
								 | 
							
								        $request = $this->loginRequest($body);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        try {
							 | 
						||
| 
								 | 
							
								            $options = $this->createHttpClientOption();
							 | 
						||
| 
								 | 
							
								            try {
							 | 
						||
| 
								 | 
							
								                $response = $this->client->send($request, $options);
							 | 
						||
| 
								 | 
							
								            } catch (RequestException $e) {
							 | 
						||
| 
								 | 
							
								                throw new ApiException(
							 | 
						||
| 
								 | 
							
								                    "[{$e->getCode()}] {$e->getMessage()}",
							 | 
						||
| 
								 | 
							
								                    $e->getCode(),
							 | 
						||
| 
								 | 
							
								                    $e->getResponse() ? $e->getResponse()->getHeaders() : null,
							 | 
						||
| 
								 | 
							
								                    $e->getResponse() ? $e->getResponse()->getBody()->getContents() : null
							 | 
						||
| 
								 | 
							
								                );
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            $statusCode = $response->getStatusCode();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            if ($statusCode < 200 || $statusCode > 299) {
							 | 
						||
| 
								 | 
							
								                throw new ApiException(
							 | 
						||
| 
								 | 
							
								                    sprintf(
							 | 
						||
| 
								 | 
							
								                        '[%d] Error connecting to the API (%s)',
							 | 
						||
| 
								 | 
							
								                        $statusCode,
							 | 
						||
| 
								 | 
							
								                        $request->getUri()
							 | 
						||
| 
								 | 
							
								                    ),
							 | 
						||
| 
								 | 
							
								                    $statusCode,
							 | 
						||
| 
								 | 
							
								                    $response->getHeaders(),
							 | 
						||
| 
								 | 
							
								                    $response->getBody()
							 | 
						||
| 
								 | 
							
								                );
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            $responseBody = $response->getBody();
							 | 
						||
| 
								 | 
							
								            if ($returnType === '\SplFileObject') {
							 | 
						||
| 
								 | 
							
								                $content = $responseBody; //stream goes to serializer
							 | 
						||
| 
								 | 
							
								            } else {
							 | 
						||
| 
								 | 
							
								                $content = $responseBody->getContents();
							 | 
						||
| 
								 | 
							
								                if ($returnType !== 'string') {
							 | 
						||
| 
								 | 
							
								                    $content = json_decode($content);
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            return [
							 | 
						||
| 
								 | 
							
								                ObjectSerializer::deserialize($content, $returnType, []),
							 | 
						||
| 
								 | 
							
								                $response->getStatusCode(),
							 | 
						||
| 
								 | 
							
								                $response->getHeaders()
							 | 
						||
| 
								 | 
							
								            ];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        } catch (ApiException $e) {
							 | 
						||
| 
								 | 
							
								            switch ($e->getCode()) {
							 | 
						||
| 
								 | 
							
								                case 200:
							 | 
						||
| 
								 | 
							
								                    $data = ObjectSerializer::deserialize(
							 | 
						||
| 
								 | 
							
								                        $e->getResponseBody(),
							 | 
						||
| 
								 | 
							
								                        'object',
							 | 
						||
| 
								 | 
							
								                        $e->getResponseHeaders()
							 | 
						||
| 
								 | 
							
								                    );
							 | 
						||
| 
								 | 
							
								                    $e->setResponseObject($data);
							 | 
						||
| 
								 | 
							
								                    break;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            throw $e;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Operation loginAsync
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * 登录
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param  \Swagger\Client\Model\LoginReq $body (required)
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @throws \InvalidArgumentException
							 | 
						||
| 
								 | 
							
								     * @return \GuzzleHttp\Promise\PromiseInterface
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    public function loginAsync($body)
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        return $this->loginAsyncWithHttpInfo($body)
							 | 
						||
| 
								 | 
							
								            ->then(
							 | 
						||
| 
								 | 
							
								                function ($response) {
							 | 
						||
| 
								 | 
							
								                    return $response[0];
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								            );
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Operation loginAsyncWithHttpInfo
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * 登录
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param  \Swagger\Client\Model\LoginReq $body (required)
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @throws \InvalidArgumentException
							 | 
						||
| 
								 | 
							
								     * @return \GuzzleHttp\Promise\PromiseInterface
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    public function loginAsyncWithHttpInfo($body)
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $returnType = 'object';
							 | 
						||
| 
								 | 
							
								        $request = $this->loginRequest($body);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        return $this->client
							 | 
						||
| 
								 | 
							
								            ->sendAsync($request, $this->createHttpClientOption())
							 | 
						||
| 
								 | 
							
								            ->then(
							 | 
						||
| 
								 | 
							
								                function ($response) use ($returnType) {
							 | 
						||
| 
								 | 
							
								                    $responseBody = $response->getBody();
							 | 
						||
| 
								 | 
							
								                    if ($returnType === '\SplFileObject') {
							 | 
						||
| 
								 | 
							
								                        $content = $responseBody; //stream goes to serializer
							 | 
						||
| 
								 | 
							
								                    } else {
							 | 
						||
| 
								 | 
							
								                        $content = $responseBody->getContents();
							 | 
						||
| 
								 | 
							
								                        if ($returnType !== 'string') {
							 | 
						||
| 
								 | 
							
								                            $content = json_decode($content);
							 | 
						||
| 
								 | 
							
								                        }
							 | 
						||
| 
								 | 
							
								                    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    return [
							 | 
						||
| 
								 | 
							
								                        ObjectSerializer::deserialize($content, $returnType, []),
							 | 
						||
| 
								 | 
							
								                        $response->getStatusCode(),
							 | 
						||
| 
								 | 
							
								                        $response->getHeaders()
							 | 
						||
| 
								 | 
							
								                    ];
							 | 
						||
| 
								 | 
							
								                },
							 | 
						||
| 
								 | 
							
								                function ($exception) {
							 | 
						||
| 
								 | 
							
								                    $response = $exception->getResponse();
							 | 
						||
| 
								 | 
							
								                    $statusCode = $response->getStatusCode();
							 | 
						||
| 
								 | 
							
								                    throw new ApiException(
							 | 
						||
| 
								 | 
							
								                        sprintf(
							 | 
						||
| 
								 | 
							
								                            '[%d] Error connecting to the API (%s)',
							 | 
						||
| 
								 | 
							
								                            $statusCode,
							 | 
						||
| 
								 | 
							
								                            $exception->getRequest()->getUri()
							 | 
						||
| 
								 | 
							
								                        ),
							 | 
						||
| 
								 | 
							
								                        $statusCode,
							 | 
						||
| 
								 | 
							
								                        $response->getHeaders(),
							 | 
						||
| 
								 | 
							
								                        $response->getBody()
							 | 
						||
| 
								 | 
							
								                    );
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								            );
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Create request for operation 'login'
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param  \Swagger\Client\Model\LoginReq $body (required)
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @throws \InvalidArgumentException
							 | 
						||
| 
								 | 
							
								     * @return \GuzzleHttp\Psr7\Request
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    protected function loginRequest($body)
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        // verify the required parameter 'body' is set
							 | 
						||
| 
								 | 
							
								        if ($body === null || (is_array($body) && count($body) === 0)) {
							 | 
						||
| 
								 | 
							
								            throw new \InvalidArgumentException(
							 | 
						||
| 
								 | 
							
								                'Missing the required parameter $body when calling login'
							 | 
						||
| 
								 | 
							
								            );
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $resourcePath = '/api/user/login';
							 | 
						||
| 
								 | 
							
								        $formParams = [];
							 | 
						||
| 
								 | 
							
								        $queryParams = [];
							 | 
						||
| 
								 | 
							
								        $headerParams = [];
							 | 
						||
| 
								 | 
							
								        $httpBody = '';
							 | 
						||
| 
								 | 
							
								        $multipart = false;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        // body params
							 | 
						||
| 
								 | 
							
								        $_tempBody = null;
							 | 
						||
| 
								 | 
							
								        if (isset($body)) {
							 | 
						||
| 
								 | 
							
								            $_tempBody = $body;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        if ($multipart) {
							 | 
						||
| 
								 | 
							
								            $headers = $this->headerSelector->selectHeadersForMultipart(
							 | 
						||
| 
								 | 
							
								                ['application/json']
							 | 
						||
| 
								 | 
							
								            );
							 | 
						||
| 
								 | 
							
								        } else {
							 | 
						||
| 
								 | 
							
								            $headers = $this->headerSelector->selectHeaders(
							 | 
						||
| 
								 | 
							
								                ['application/json'],
							 | 
						||
| 
								 | 
							
								                ['application/json']
							 | 
						||
| 
								 | 
							
								            );
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        // for model (json/xml)
							 | 
						||
| 
								 | 
							
								        if (isset($_tempBody)) {
							 | 
						||
| 
								 | 
							
								            // $_tempBody is the method argument, if present
							 | 
						||
| 
								 | 
							
								            $httpBody = $_tempBody;
							 | 
						||
| 
								 | 
							
								            
							 | 
						||
| 
								 | 
							
								            if($headers['Content-Type'] === 'application/json') {
							 | 
						||
| 
								 | 
							
								                // \stdClass has no __toString(), so we should encode it manually
							 | 
						||
| 
								 | 
							
								                if ($httpBody instanceof \stdClass) {
							 | 
						||
| 
								 | 
							
								                    $httpBody = \GuzzleHttp\json_encode($httpBody);
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								                // array has no __toString(), so we should encode it manually
							 | 
						||
| 
								 | 
							
								                if(is_array($httpBody)) {
							 | 
						||
| 
								 | 
							
								                    $httpBody = \GuzzleHttp\json_encode(ObjectSerializer::sanitizeForSerialization($httpBody));
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								        } elseif (count($formParams) > 0) {
							 | 
						||
| 
								 | 
							
								            if ($multipart) {
							 | 
						||
| 
								 | 
							
								                $multipartContents = [];
							 | 
						||
| 
								 | 
							
								                foreach ($formParams as $formParamName => $formParamValue) {
							 | 
						||
| 
								 | 
							
								                    $multipartContents[] = [
							 | 
						||
| 
								 | 
							
								                        'name' => $formParamName,
							 | 
						||
| 
								 | 
							
								                        'contents' => $formParamValue
							 | 
						||
| 
								 | 
							
								                    ];
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								                // for HTTP post (form)
							 | 
						||
| 
								 | 
							
								                $httpBody = new MultipartStream($multipartContents);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            } elseif ($headers['Content-Type'] === 'application/json') {
							 | 
						||
| 
								 | 
							
								                $httpBody = \GuzzleHttp\json_encode($formParams);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            } else {
							 | 
						||
| 
								 | 
							
								                // for HTTP post (form)
							 | 
						||
| 
								 | 
							
								                $httpBody = \GuzzleHttp\Psr7\build_query($formParams);
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $defaultHeaders = [];
							 | 
						||
| 
								 | 
							
								        if ($this->config->getUserAgent()) {
							 | 
						||
| 
								 | 
							
								            $defaultHeaders['User-Agent'] = $this->config->getUserAgent();
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $headers = array_merge(
							 | 
						||
| 
								 | 
							
								            $defaultHeaders,
							 | 
						||
| 
								 | 
							
								            $headerParams,
							 | 
						||
| 
								 | 
							
								            $headers
							 | 
						||
| 
								 | 
							
								        );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $query = \GuzzleHttp\Psr7\build_query($queryParams);
							 | 
						||
| 
								 | 
							
								        return new Request(
							 | 
						||
| 
								 | 
							
								            'POST',
							 | 
						||
| 
								 | 
							
								            $this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''),
							 | 
						||
| 
								 | 
							
								            $headers,
							 | 
						||
| 
								 | 
							
								            $httpBody
							 | 
						||
| 
								 | 
							
								        );
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Operation register
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * 注册
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param  \Swagger\Client\Model\RegisterReq $body body (required)
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @throws \Swagger\Client\ApiException on non-2xx response
							 | 
						||
| 
								 | 
							
								     * @throws \InvalidArgumentException
							 | 
						||
| 
								 | 
							
								     * @return object
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    public function register($body)
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        list($response) = $this->registerWithHttpInfo($body);
							 | 
						||
| 
								 | 
							
								        return $response;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Operation registerWithHttpInfo
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * 注册
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param  \Swagger\Client\Model\RegisterReq $body (required)
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @throws \Swagger\Client\ApiException on non-2xx response
							 | 
						||
| 
								 | 
							
								     * @throws \InvalidArgumentException
							 | 
						||
| 
								 | 
							
								     * @return array of object, HTTP status code, HTTP response headers (array of strings)
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    public function registerWithHttpInfo($body)
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $returnType = 'object';
							 | 
						||
| 
								 | 
							
								        $request = $this->registerRequest($body);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        try {
							 | 
						||
| 
								 | 
							
								            $options = $this->createHttpClientOption();
							 | 
						||
| 
								 | 
							
								            try {
							 | 
						||
| 
								 | 
							
								                $response = $this->client->send($request, $options);
							 | 
						||
| 
								 | 
							
								            } catch (RequestException $e) {
							 | 
						||
| 
								 | 
							
								                throw new ApiException(
							 | 
						||
| 
								 | 
							
								                    "[{$e->getCode()}] {$e->getMessage()}",
							 | 
						||
| 
								 | 
							
								                    $e->getCode(),
							 | 
						||
| 
								 | 
							
								                    $e->getResponse() ? $e->getResponse()->getHeaders() : null,
							 | 
						||
| 
								 | 
							
								                    $e->getResponse() ? $e->getResponse()->getBody()->getContents() : null
							 | 
						||
| 
								 | 
							
								                );
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            $statusCode = $response->getStatusCode();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            if ($statusCode < 200 || $statusCode > 299) {
							 | 
						||
| 
								 | 
							
								                throw new ApiException(
							 | 
						||
| 
								 | 
							
								                    sprintf(
							 | 
						||
| 
								 | 
							
								                        '[%d] Error connecting to the API (%s)',
							 | 
						||
| 
								 | 
							
								                        $statusCode,
							 | 
						||
| 
								 | 
							
								                        $request->getUri()
							 | 
						||
| 
								 | 
							
								                    ),
							 | 
						||
| 
								 | 
							
								                    $statusCode,
							 | 
						||
| 
								 | 
							
								                    $response->getHeaders(),
							 | 
						||
| 
								 | 
							
								                    $response->getBody()
							 | 
						||
| 
								 | 
							
								                );
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            $responseBody = $response->getBody();
							 | 
						||
| 
								 | 
							
								            if ($returnType === '\SplFileObject') {
							 | 
						||
| 
								 | 
							
								                $content = $responseBody; //stream goes to serializer
							 | 
						||
| 
								 | 
							
								            } else {
							 | 
						||
| 
								 | 
							
								                $content = $responseBody->getContents();
							 | 
						||
| 
								 | 
							
								                if ($returnType !== 'string') {
							 | 
						||
| 
								 | 
							
								                    $content = json_decode($content);
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            return [
							 | 
						||
| 
								 | 
							
								                ObjectSerializer::deserialize($content, $returnType, []),
							 | 
						||
| 
								 | 
							
								                $response->getStatusCode(),
							 | 
						||
| 
								 | 
							
								                $response->getHeaders()
							 | 
						||
| 
								 | 
							
								            ];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        } catch (ApiException $e) {
							 | 
						||
| 
								 | 
							
								            switch ($e->getCode()) {
							 | 
						||
| 
								 | 
							
								                case 200:
							 | 
						||
| 
								 | 
							
								                    $data = ObjectSerializer::deserialize(
							 | 
						||
| 
								 | 
							
								                        $e->getResponseBody(),
							 | 
						||
| 
								 | 
							
								                        'object',
							 | 
						||
| 
								 | 
							
								                        $e->getResponseHeaders()
							 | 
						||
| 
								 | 
							
								                    );
							 | 
						||
| 
								 | 
							
								                    $e->setResponseObject($data);
							 | 
						||
| 
								 | 
							
								                    break;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            throw $e;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Operation registerAsync
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * 注册
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param  \Swagger\Client\Model\RegisterReq $body (required)
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @throws \InvalidArgumentException
							 | 
						||
| 
								 | 
							
								     * @return \GuzzleHttp\Promise\PromiseInterface
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    public function registerAsync($body)
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        return $this->registerAsyncWithHttpInfo($body)
							 | 
						||
| 
								 | 
							
								            ->then(
							 | 
						||
| 
								 | 
							
								                function ($response) {
							 | 
						||
| 
								 | 
							
								                    return $response[0];
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								            );
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Operation registerAsyncWithHttpInfo
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * 注册
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param  \Swagger\Client\Model\RegisterReq $body (required)
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @throws \InvalidArgumentException
							 | 
						||
| 
								 | 
							
								     * @return \GuzzleHttp\Promise\PromiseInterface
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    public function registerAsyncWithHttpInfo($body)
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $returnType = 'object';
							 | 
						||
| 
								 | 
							
								        $request = $this->registerRequest($body);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        return $this->client
							 | 
						||
| 
								 | 
							
								            ->sendAsync($request, $this->createHttpClientOption())
							 | 
						||
| 
								 | 
							
								            ->then(
							 | 
						||
| 
								 | 
							
								                function ($response) use ($returnType) {
							 | 
						||
| 
								 | 
							
								                    $responseBody = $response->getBody();
							 | 
						||
| 
								 | 
							
								                    if ($returnType === '\SplFileObject') {
							 | 
						||
| 
								 | 
							
								                        $content = $responseBody; //stream goes to serializer
							 | 
						||
| 
								 | 
							
								                    } else {
							 | 
						||
| 
								 | 
							
								                        $content = $responseBody->getContents();
							 | 
						||
| 
								 | 
							
								                        if ($returnType !== 'string') {
							 | 
						||
| 
								 | 
							
								                            $content = json_decode($content);
							 | 
						||
| 
								 | 
							
								                        }
							 | 
						||
| 
								 | 
							
								                    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    return [
							 | 
						||
| 
								 | 
							
								                        ObjectSerializer::deserialize($content, $returnType, []),
							 | 
						||
| 
								 | 
							
								                        $response->getStatusCode(),
							 | 
						||
| 
								 | 
							
								                        $response->getHeaders()
							 | 
						||
| 
								 | 
							
								                    ];
							 | 
						||
| 
								 | 
							
								                },
							 | 
						||
| 
								 | 
							
								                function ($exception) {
							 | 
						||
| 
								 | 
							
								                    $response = $exception->getResponse();
							 | 
						||
| 
								 | 
							
								                    $statusCode = $response->getStatusCode();
							 | 
						||
| 
								 | 
							
								                    throw new ApiException(
							 | 
						||
| 
								 | 
							
								                        sprintf(
							 | 
						||
| 
								 | 
							
								                            '[%d] Error connecting to the API (%s)',
							 | 
						||
| 
								 | 
							
								                            $statusCode,
							 | 
						||
| 
								 | 
							
								                            $exception->getRequest()->getUri()
							 | 
						||
| 
								 | 
							
								                        ),
							 | 
						||
| 
								 | 
							
								                        $statusCode,
							 | 
						||
| 
								 | 
							
								                        $response->getHeaders(),
							 | 
						||
| 
								 | 
							
								                        $response->getBody()
							 | 
						||
| 
								 | 
							
								                    );
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								            );
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Create request for operation 'register'
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param  \Swagger\Client\Model\RegisterReq $body (required)
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @throws \InvalidArgumentException
							 | 
						||
| 
								 | 
							
								     * @return \GuzzleHttp\Psr7\Request
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    protected function registerRequest($body)
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        // verify the required parameter 'body' is set
							 | 
						||
| 
								 | 
							
								        if ($body === null || (is_array($body) && count($body) === 0)) {
							 | 
						||
| 
								 | 
							
								            throw new \InvalidArgumentException(
							 | 
						||
| 
								 | 
							
								                'Missing the required parameter $body when calling register'
							 | 
						||
| 
								 | 
							
								            );
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $resourcePath = '/api/user/register';
							 | 
						||
| 
								 | 
							
								        $formParams = [];
							 | 
						||
| 
								 | 
							
								        $queryParams = [];
							 | 
						||
| 
								 | 
							
								        $headerParams = [];
							 | 
						||
| 
								 | 
							
								        $httpBody = '';
							 | 
						||
| 
								 | 
							
								        $multipart = false;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        // body params
							 | 
						||
| 
								 | 
							
								        $_tempBody = null;
							 | 
						||
| 
								 | 
							
								        if (isset($body)) {
							 | 
						||
| 
								 | 
							
								            $_tempBody = $body;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        if ($multipart) {
							 | 
						||
| 
								 | 
							
								            $headers = $this->headerSelector->selectHeadersForMultipart(
							 | 
						||
| 
								 | 
							
								                ['application/json']
							 | 
						||
| 
								 | 
							
								            );
							 | 
						||
| 
								 | 
							
								        } else {
							 | 
						||
| 
								 | 
							
								            $headers = $this->headerSelector->selectHeaders(
							 | 
						||
| 
								 | 
							
								                ['application/json'],
							 | 
						||
| 
								 | 
							
								                ['application/json']
							 | 
						||
| 
								 | 
							
								            );
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        // for model (json/xml)
							 | 
						||
| 
								 | 
							
								        if (isset($_tempBody)) {
							 | 
						||
| 
								 | 
							
								            // $_tempBody is the method argument, if present
							 | 
						||
| 
								 | 
							
								            $httpBody = $_tempBody;
							 | 
						||
| 
								 | 
							
								            
							 | 
						||
| 
								 | 
							
								            if($headers['Content-Type'] === 'application/json') {
							 | 
						||
| 
								 | 
							
								                // \stdClass has no __toString(), so we should encode it manually
							 | 
						||
| 
								 | 
							
								                if ($httpBody instanceof \stdClass) {
							 | 
						||
| 
								 | 
							
								                    $httpBody = \GuzzleHttp\json_encode($httpBody);
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								                // array has no __toString(), so we should encode it manually
							 | 
						||
| 
								 | 
							
								                if(is_array($httpBody)) {
							 | 
						||
| 
								 | 
							
								                    $httpBody = \GuzzleHttp\json_encode(ObjectSerializer::sanitizeForSerialization($httpBody));
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								        } elseif (count($formParams) > 0) {
							 | 
						||
| 
								 | 
							
								            if ($multipart) {
							 | 
						||
| 
								 | 
							
								                $multipartContents = [];
							 | 
						||
| 
								 | 
							
								                foreach ($formParams as $formParamName => $formParamValue) {
							 | 
						||
| 
								 | 
							
								                    $multipartContents[] = [
							 | 
						||
| 
								 | 
							
								                        'name' => $formParamName,
							 | 
						||
| 
								 | 
							
								                        'contents' => $formParamValue
							 | 
						||
| 
								 | 
							
								                    ];
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								                // for HTTP post (form)
							 | 
						||
| 
								 | 
							
								                $httpBody = new MultipartStream($multipartContents);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            } elseif ($headers['Content-Type'] === 'application/json') {
							 | 
						||
| 
								 | 
							
								                $httpBody = \GuzzleHttp\json_encode($formParams);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            } else {
							 | 
						||
| 
								 | 
							
								                // for HTTP post (form)
							 | 
						||
| 
								 | 
							
								                $httpBody = \GuzzleHttp\Psr7\build_query($formParams);
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $defaultHeaders = [];
							 | 
						||
| 
								 | 
							
								        if ($this->config->getUserAgent()) {
							 | 
						||
| 
								 | 
							
								            $defaultHeaders['User-Agent'] = $this->config->getUserAgent();
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $headers = array_merge(
							 | 
						||
| 
								 | 
							
								            $defaultHeaders,
							 | 
						||
| 
								 | 
							
								            $headerParams,
							 | 
						||
| 
								 | 
							
								            $headers
							 | 
						||
| 
								 | 
							
								        );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $query = \GuzzleHttp\Psr7\build_query($queryParams);
							 | 
						||
| 
								 | 
							
								        return new Request(
							 | 
						||
| 
								 | 
							
								            'POST',
							 | 
						||
| 
								 | 
							
								            $this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''),
							 | 
						||
| 
								 | 
							
								            $headers,
							 | 
						||
| 
								 | 
							
								            $httpBody
							 | 
						||
| 
								 | 
							
								        );
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Operation searchUser
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * 用户搜索
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param  \Swagger\Client\Model\UserSearchReq $body body (required)
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @throws \Swagger\Client\ApiException on non-2xx response
							 | 
						||
| 
								 | 
							
								     * @throws \InvalidArgumentException
							 | 
						||
| 
								 | 
							
								     * @return \Swagger\Client\Model\UserSearchReply
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    public function searchUser($body)
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        list($response) = $this->searchUserWithHttpInfo($body);
							 | 
						||
| 
								 | 
							
								        return $response;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Operation searchUserWithHttpInfo
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * 用户搜索
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param  \Swagger\Client\Model\UserSearchReq $body (required)
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @throws \Swagger\Client\ApiException on non-2xx response
							 | 
						||
| 
								 | 
							
								     * @throws \InvalidArgumentException
							 | 
						||
| 
								 | 
							
								     * @return array of \Swagger\Client\Model\UserSearchReply, HTTP status code, HTTP response headers (array of strings)
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    public function searchUserWithHttpInfo($body)
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $returnType = '\Swagger\Client\Model\UserSearchReply';
							 | 
						||
| 
								 | 
							
								        $request = $this->searchUserRequest($body);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        try {
							 | 
						||
| 
								 | 
							
								            $options = $this->createHttpClientOption();
							 | 
						||
| 
								 | 
							
								            try {
							 | 
						||
| 
								 | 
							
								                $response = $this->client->send($request, $options);
							 | 
						||
| 
								 | 
							
								            } catch (RequestException $e) {
							 | 
						||
| 
								 | 
							
								                throw new ApiException(
							 | 
						||
| 
								 | 
							
								                    "[{$e->getCode()}] {$e->getMessage()}",
							 | 
						||
| 
								 | 
							
								                    $e->getCode(),
							 | 
						||
| 
								 | 
							
								                    $e->getResponse() ? $e->getResponse()->getHeaders() : null,
							 | 
						||
| 
								 | 
							
								                    $e->getResponse() ? $e->getResponse()->getBody()->getContents() : null
							 | 
						||
| 
								 | 
							
								                );
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            $statusCode = $response->getStatusCode();
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            if ($statusCode < 200 || $statusCode > 299) {
							 | 
						||
| 
								 | 
							
								                throw new ApiException(
							 | 
						||
| 
								 | 
							
								                    sprintf(
							 | 
						||
| 
								 | 
							
								                        '[%d] Error connecting to the API (%s)',
							 | 
						||
| 
								 | 
							
								                        $statusCode,
							 | 
						||
| 
								 | 
							
								                        $request->getUri()
							 | 
						||
| 
								 | 
							
								                    ),
							 | 
						||
| 
								 | 
							
								                    $statusCode,
							 | 
						||
| 
								 | 
							
								                    $response->getHeaders(),
							 | 
						||
| 
								 | 
							
								                    $response->getBody()
							 | 
						||
| 
								 | 
							
								                );
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            $responseBody = $response->getBody();
							 | 
						||
| 
								 | 
							
								            if ($returnType === '\SplFileObject') {
							 | 
						||
| 
								 | 
							
								                $content = $responseBody; //stream goes to serializer
							 | 
						||
| 
								 | 
							
								            } else {
							 | 
						||
| 
								 | 
							
								                $content = $responseBody->getContents();
							 | 
						||
| 
								 | 
							
								                if ($returnType !== 'string') {
							 | 
						||
| 
								 | 
							
								                    $content = json_decode($content);
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            return [
							 | 
						||
| 
								 | 
							
								                ObjectSerializer::deserialize($content, $returnType, []),
							 | 
						||
| 
								 | 
							
								                $response->getStatusCode(),
							 | 
						||
| 
								 | 
							
								                $response->getHeaders()
							 | 
						||
| 
								 | 
							
								            ];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        } catch (ApiException $e) {
							 | 
						||
| 
								 | 
							
								            switch ($e->getCode()) {
							 | 
						||
| 
								 | 
							
								                case 200:
							 | 
						||
| 
								 | 
							
								                    $data = ObjectSerializer::deserialize(
							 | 
						||
| 
								 | 
							
								                        $e->getResponseBody(),
							 | 
						||
| 
								 | 
							
								                        '\Swagger\Client\Model\UserSearchReply',
							 | 
						||
| 
								 | 
							
								                        $e->getResponseHeaders()
							 | 
						||
| 
								 | 
							
								                    );
							 | 
						||
| 
								 | 
							
								                    $e->setResponseObject($data);
							 | 
						||
| 
								 | 
							
								                    break;
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            throw $e;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Operation searchUserAsync
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * 用户搜索
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param  \Swagger\Client\Model\UserSearchReq $body (required)
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @throws \InvalidArgumentException
							 | 
						||
| 
								 | 
							
								     * @return \GuzzleHttp\Promise\PromiseInterface
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    public function searchUserAsync($body)
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        return $this->searchUserAsyncWithHttpInfo($body)
							 | 
						||
| 
								 | 
							
								            ->then(
							 | 
						||
| 
								 | 
							
								                function ($response) {
							 | 
						||
| 
								 | 
							
								                    return $response[0];
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								            );
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Operation searchUserAsyncWithHttpInfo
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * 用户搜索
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param  \Swagger\Client\Model\UserSearchReq $body (required)
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @throws \InvalidArgumentException
							 | 
						||
| 
								 | 
							
								     * @return \GuzzleHttp\Promise\PromiseInterface
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    public function searchUserAsyncWithHttpInfo($body)
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $returnType = '\Swagger\Client\Model\UserSearchReply';
							 | 
						||
| 
								 | 
							
								        $request = $this->searchUserRequest($body);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        return $this->client
							 | 
						||
| 
								 | 
							
								            ->sendAsync($request, $this->createHttpClientOption())
							 | 
						||
| 
								 | 
							
								            ->then(
							 | 
						||
| 
								 | 
							
								                function ($response) use ($returnType) {
							 | 
						||
| 
								 | 
							
								                    $responseBody = $response->getBody();
							 | 
						||
| 
								 | 
							
								                    if ($returnType === '\SplFileObject') {
							 | 
						||
| 
								 | 
							
								                        $content = $responseBody; //stream goes to serializer
							 | 
						||
| 
								 | 
							
								                    } else {
							 | 
						||
| 
								 | 
							
								                        $content = $responseBody->getContents();
							 | 
						||
| 
								 | 
							
								                        if ($returnType !== 'string') {
							 | 
						||
| 
								 | 
							
								                            $content = json_decode($content);
							 | 
						||
| 
								 | 
							
								                        }
							 | 
						||
| 
								 | 
							
								                    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								                    return [
							 | 
						||
| 
								 | 
							
								                        ObjectSerializer::deserialize($content, $returnType, []),
							 | 
						||
| 
								 | 
							
								                        $response->getStatusCode(),
							 | 
						||
| 
								 | 
							
								                        $response->getHeaders()
							 | 
						||
| 
								 | 
							
								                    ];
							 | 
						||
| 
								 | 
							
								                },
							 | 
						||
| 
								 | 
							
								                function ($exception) {
							 | 
						||
| 
								 | 
							
								                    $response = $exception->getResponse();
							 | 
						||
| 
								 | 
							
								                    $statusCode = $response->getStatusCode();
							 | 
						||
| 
								 | 
							
								                    throw new ApiException(
							 | 
						||
| 
								 | 
							
								                        sprintf(
							 | 
						||
| 
								 | 
							
								                            '[%d] Error connecting to the API (%s)',
							 | 
						||
| 
								 | 
							
								                            $statusCode,
							 | 
						||
| 
								 | 
							
								                            $exception->getRequest()->getUri()
							 | 
						||
| 
								 | 
							
								                        ),
							 | 
						||
| 
								 | 
							
								                        $statusCode,
							 | 
						||
| 
								 | 
							
								                        $response->getHeaders(),
							 | 
						||
| 
								 | 
							
								                        $response->getBody()
							 | 
						||
| 
								 | 
							
								                    );
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								            );
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Create request for operation 'searchUser'
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @param  \Swagger\Client\Model\UserSearchReq $body (required)
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @throws \InvalidArgumentException
							 | 
						||
| 
								 | 
							
								     * @return \GuzzleHttp\Psr7\Request
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    protected function searchUserRequest($body)
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        // verify the required parameter 'body' is set
							 | 
						||
| 
								 | 
							
								        if ($body === null || (is_array($body) && count($body) === 0)) {
							 | 
						||
| 
								 | 
							
								            throw new \InvalidArgumentException(
							 | 
						||
| 
								 | 
							
								                'Missing the required parameter $body when calling searchUser'
							 | 
						||
| 
								 | 
							
								            );
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $resourcePath = '/api/user/search';
							 | 
						||
| 
								 | 
							
								        $formParams = [];
							 | 
						||
| 
								 | 
							
								        $queryParams = [];
							 | 
						||
| 
								 | 
							
								        $headerParams = [];
							 | 
						||
| 
								 | 
							
								        $httpBody = '';
							 | 
						||
| 
								 | 
							
								        $multipart = false;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        // body params
							 | 
						||
| 
								 | 
							
								        $_tempBody = null;
							 | 
						||
| 
								 | 
							
								        if (isset($body)) {
							 | 
						||
| 
								 | 
							
								            $_tempBody = $body;
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        if ($multipart) {
							 | 
						||
| 
								 | 
							
								            $headers = $this->headerSelector->selectHeadersForMultipart(
							 | 
						||
| 
								 | 
							
								                ['application/json']
							 | 
						||
| 
								 | 
							
								            );
							 | 
						||
| 
								 | 
							
								        } else {
							 | 
						||
| 
								 | 
							
								            $headers = $this->headerSelector->selectHeaders(
							 | 
						||
| 
								 | 
							
								                ['application/json'],
							 | 
						||
| 
								 | 
							
								                ['application/json']
							 | 
						||
| 
								 | 
							
								            );
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        // for model (json/xml)
							 | 
						||
| 
								 | 
							
								        if (isset($_tempBody)) {
							 | 
						||
| 
								 | 
							
								            // $_tempBody is the method argument, if present
							 | 
						||
| 
								 | 
							
								            $httpBody = $_tempBody;
							 | 
						||
| 
								 | 
							
								            
							 | 
						||
| 
								 | 
							
								            if($headers['Content-Type'] === 'application/json') {
							 | 
						||
| 
								 | 
							
								                // \stdClass has no __toString(), so we should encode it manually
							 | 
						||
| 
								 | 
							
								                if ($httpBody instanceof \stdClass) {
							 | 
						||
| 
								 | 
							
								                    $httpBody = \GuzzleHttp\json_encode($httpBody);
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								                // array has no __toString(), so we should encode it manually
							 | 
						||
| 
								 | 
							
								                if(is_array($httpBody)) {
							 | 
						||
| 
								 | 
							
								                    $httpBody = \GuzzleHttp\json_encode(ObjectSerializer::sanitizeForSerialization($httpBody));
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								        } elseif (count($formParams) > 0) {
							 | 
						||
| 
								 | 
							
								            if ($multipart) {
							 | 
						||
| 
								 | 
							
								                $multipartContents = [];
							 | 
						||
| 
								 | 
							
								                foreach ($formParams as $formParamName => $formParamValue) {
							 | 
						||
| 
								 | 
							
								                    $multipartContents[] = [
							 | 
						||
| 
								 | 
							
								                        'name' => $formParamName,
							 | 
						||
| 
								 | 
							
								                        'contents' => $formParamValue
							 | 
						||
| 
								 | 
							
								                    ];
							 | 
						||
| 
								 | 
							
								                }
							 | 
						||
| 
								 | 
							
								                // for HTTP post (form)
							 | 
						||
| 
								 | 
							
								                $httpBody = new MultipartStream($multipartContents);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            } elseif ($headers['Content-Type'] === 'application/json') {
							 | 
						||
| 
								 | 
							
								                $httpBody = \GuzzleHttp\json_encode($formParams);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            } else {
							 | 
						||
| 
								 | 
							
								                // for HTTP post (form)
							 | 
						||
| 
								 | 
							
								                $httpBody = \GuzzleHttp\Psr7\build_query($formParams);
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $defaultHeaders = [];
							 | 
						||
| 
								 | 
							
								        if ($this->config->getUserAgent()) {
							 | 
						||
| 
								 | 
							
								            $defaultHeaders['User-Agent'] = $this->config->getUserAgent();
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $headers = array_merge(
							 | 
						||
| 
								 | 
							
								            $defaultHeaders,
							 | 
						||
| 
								 | 
							
								            $headerParams,
							 | 
						||
| 
								 | 
							
								            $headers
							 | 
						||
| 
								 | 
							
								        );
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $query = \GuzzleHttp\Psr7\build_query($queryParams);
							 | 
						||
| 
								 | 
							
								        return new Request(
							 | 
						||
| 
								 | 
							
								            'GET',
							 | 
						||
| 
								 | 
							
								            $this->config->getHost() . $resourcePath . ($query ? "?{$query}" : ''),
							 | 
						||
| 
								 | 
							
								            $headers,
							 | 
						||
| 
								 | 
							
								            $httpBody
							 | 
						||
| 
								 | 
							
								        );
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Create http client option
							 | 
						||
| 
								 | 
							
								     *
							 | 
						||
| 
								 | 
							
								     * @throws \RuntimeException on file opening failure
							 | 
						||
| 
								 | 
							
								     * @return array of http client options
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    protected function createHttpClientOption()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $options = [];
							 | 
						||
| 
								 | 
							
								        if ($this->config->getDebug()) {
							 | 
						||
| 
								 | 
							
								            $options[RequestOptions::DEBUG] = fopen($this->config->getDebugFile(), 'a');
							 | 
						||
| 
								 | 
							
								            if (!$options[RequestOptions::DEBUG]) {
							 | 
						||
| 
								 | 
							
								                throw new \RuntimeException('Failed to open the debug file: ' . $this->config->getDebugFile());
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        return $options;
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |