forked from loafle/openapi-generator-original
move all configuration to ApiConfiguration
This commit is contained in:
parent
01d7776fc1
commit
a6331244e1
@ -24,23 +24,6 @@ class ApiClient {
|
|||||||
public static $GET = "GET";
|
public static $GET = "GET";
|
||||||
public static $PUT = "PUT";
|
public static $PUT = "PUT";
|
||||||
public static $DELETE = "DELETE";
|
public static $DELETE = "DELETE";
|
||||||
|
|
||||||
protected $defaultHeaders = array();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The host
|
|
||||||
*/
|
|
||||||
protected $host = 'http://localhost';
|
|
||||||
|
|
||||||
/*
|
|
||||||
* @var string timeout (second) of the HTTP request, by default set to 0, no timeout
|
|
||||||
*/
|
|
||||||
protected $curlTimeout = 0;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* @var string user agent of the HTTP request, set to "PHP-Swagger" by default
|
|
||||||
*/
|
|
||||||
protected $userAgent = "PHP-Swagger";
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @var ApiConfiguration
|
* @var ApiConfiguration
|
||||||
@ -58,47 +41,6 @@ class ApiClient {
|
|||||||
$this->config = $config;
|
$this->config = $config;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* add default header
|
|
||||||
*
|
|
||||||
* @param string $headerName header name (e.g. Token)
|
|
||||||
* @param string $headerValue header value (e.g. 1z8wp3)
|
|
||||||
* @return ApiClient
|
|
||||||
*/
|
|
||||||
public function addDefaultHeader($headerName, $headerValue) {
|
|
||||||
if (!is_string($headerName)) {
|
|
||||||
throw new \InvalidArgumentException('Header name must be a string.');
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->defaultHeaders[$headerName] = $headerValue;
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* get the default header
|
|
||||||
*
|
|
||||||
* @return array default header
|
|
||||||
*/
|
|
||||||
public function getDefaultHeaders() {
|
|
||||||
return $this->defaultHeaders;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param string $host
|
|
||||||
* @return ApiConfiguration
|
|
||||||
*/
|
|
||||||
public function setHost($host) {
|
|
||||||
$this->host = $host;
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
public function getHost() {
|
|
||||||
return $this->host;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* get the config
|
* get the config
|
||||||
* @return ApiConfiguration
|
* @return ApiConfiguration
|
||||||
@ -107,62 +49,6 @@ class ApiClient {
|
|||||||
return $this->config;
|
return $this->config;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* delete the default header based on header name
|
|
||||||
*
|
|
||||||
* @param string $headerName header name (e.g. Token)
|
|
||||||
*/
|
|
||||||
public function deleteDefaultHeader($headerName) {
|
|
||||||
unset($this->defaultHeaders[$headerName]);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* set the user agent of the api client
|
|
||||||
*
|
|
||||||
* @param string $userAgent the user agent of the api client
|
|
||||||
* @return ApiClient
|
|
||||||
*/
|
|
||||||
public function setUserAgent($userAgent) {
|
|
||||||
if (!is_string($userAgent))
|
|
||||||
throw new \InvalidArgumentException('User-agent must be a string.');
|
|
||||||
|
|
||||||
$this->userAgent = $userAgent;
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* get the user agent of the api client
|
|
||||||
*
|
|
||||||
* @return string user agent
|
|
||||||
*/
|
|
||||||
public function getUserAgent() {
|
|
||||||
return $this->userAgent;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* set the HTTP timeout value
|
|
||||||
*
|
|
||||||
* @param integer $seconds Number of seconds before timing out [set to 0 for no timeout]
|
|
||||||
* @return ApiClient
|
|
||||||
*/
|
|
||||||
public function setTimeout($seconds) {
|
|
||||||
if (!is_numeric($seconds) || $seconds < 0)
|
|
||||||
throw new \InvalidArgumentException('Timeout value must be numeric and a non-negative number.');
|
|
||||||
|
|
||||||
$this->curlTimeout = $seconds;
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* get the HTTP timeout value
|
|
||||||
*
|
|
||||||
* @return string HTTP timeout value
|
|
||||||
*/
|
|
||||||
public function getTimeout() {
|
|
||||||
return $this->curlTimeout;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get API key (with prefix if set)
|
* Get API key (with prefix if set)
|
||||||
* @param string $apiKey name of apikey
|
* @param string $apiKey name of apikey
|
||||||
@ -199,7 +85,7 @@ class ApiClient {
|
|||||||
$headers = array();
|
$headers = array();
|
||||||
|
|
||||||
# construct the http header
|
# construct the http header
|
||||||
$headerParams = array_merge((array)$this->defaultHeaders, (array)$headerParams);
|
$headerParams = array_merge((array)$this->config->getDefaultHeaders(), (array)$headerParams);
|
||||||
|
|
||||||
foreach ($headerParams as $key => $val) {
|
foreach ($headerParams as $key => $val) {
|
||||||
$headers[] = "$key: $val";
|
$headers[] = "$key: $val";
|
||||||
@ -213,12 +99,12 @@ class ApiClient {
|
|||||||
$postData = json_encode(ObjectSerializer::sanitizeForSerialization($postData));
|
$postData = json_encode(ObjectSerializer::sanitizeForSerialization($postData));
|
||||||
}
|
}
|
||||||
|
|
||||||
$url = $this->getHost() . $resourcePath;
|
$url = $this->config->getHost() . $resourcePath;
|
||||||
|
|
||||||
$curl = curl_init();
|
$curl = curl_init();
|
||||||
// set timeout, if needed
|
// set timeout, if needed
|
||||||
if ($this->curlTimeout != 0) {
|
if ($this->config->getCurlTimeout() != 0) {
|
||||||
curl_setopt($curl, CURLOPT_TIMEOUT, $this->curlTimeout);
|
curl_setopt($curl, CURLOPT_TIMEOUT, $this->config->getCurlTimeout());
|
||||||
}
|
}
|
||||||
// return the result on success, rather than just TRUE
|
// return the result on success, rather than just TRUE
|
||||||
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
|
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
|
||||||
@ -247,7 +133,7 @@ class ApiClient {
|
|||||||
curl_setopt($curl, CURLOPT_URL, $url);
|
curl_setopt($curl, CURLOPT_URL, $url);
|
||||||
|
|
||||||
// Set user agent
|
// Set user agent
|
||||||
curl_setopt($curl, CURLOPT_USERAGENT, $this->userAgent);
|
curl_setopt($curl, CURLOPT_USERAGENT, $this->config->getUserAgent());
|
||||||
|
|
||||||
// debugging for curl
|
// debugging for curl
|
||||||
if ($this->config->getDebug()) {
|
if ($this->config->getDebug()) {
|
||||||
@ -320,6 +206,5 @@ class ApiClient {
|
|||||||
return implode(',', $content_type);
|
return implode(',', $content_type);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,6 +41,26 @@ class ApiConfiguration {
|
|||||||
*/
|
*/
|
||||||
protected $password = '';
|
protected $password = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* default headers for requests this conf
|
||||||
|
*/
|
||||||
|
protected $defaultHeaders = array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The host
|
||||||
|
*/
|
||||||
|
protected $host = 'http://localhost';
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @var string timeout (second) of the HTTP request, by default set to 0, no timeout
|
||||||
|
*/
|
||||||
|
protected $curlTimeout = 0;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @var string user agent of the HTTP request, set to "PHP-Swagger" by default
|
||||||
|
*/
|
||||||
|
protected $userAgent = "PHP-Swagger";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Debug switch (default set to false)
|
* Debug switch (default set to false)
|
||||||
*/
|
*/
|
||||||
@ -119,6 +139,95 @@ class ApiConfiguration {
|
|||||||
return $this->password;
|
return $this->password;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* add default header
|
||||||
|
*
|
||||||
|
* @param string $headerName header name (e.g. Token)
|
||||||
|
* @param string $headerValue header value (e.g. 1z8wp3)
|
||||||
|
* @return ApiClient
|
||||||
|
*/
|
||||||
|
public function addDefaultHeader($headerName, $headerValue) {
|
||||||
|
if (!is_string($headerName)) {
|
||||||
|
throw new \InvalidArgumentException('Header name must be a string.');
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->defaultHeaders[$headerName] = $headerValue;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get the default header
|
||||||
|
*
|
||||||
|
* @return array default header
|
||||||
|
*/
|
||||||
|
public function getDefaultHeaders() {
|
||||||
|
return $this->defaultHeaders;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param string $host
|
||||||
|
* @return ApiConfiguration
|
||||||
|
*/
|
||||||
|
public function setHost($host) {
|
||||||
|
$this->host = $host;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getHost() {
|
||||||
|
return $this->host;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* set the user agent of the api client
|
||||||
|
*
|
||||||
|
* @param string $userAgent the user agent of the api client
|
||||||
|
* @return ApiClient
|
||||||
|
*/
|
||||||
|
public function setUserAgent($userAgent) {
|
||||||
|
if (!is_string($userAgent)) {
|
||||||
|
throw new \InvalidArgumentException('User-agent must be a string.');
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->userAgent = $userAgent;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get the user agent of the api client
|
||||||
|
*
|
||||||
|
* @return string user agent
|
||||||
|
*/
|
||||||
|
public function getUserAgent() {
|
||||||
|
return $this->userAgent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* set the HTTP timeout value
|
||||||
|
*
|
||||||
|
* @param integer $seconds Number of seconds before timing out [set to 0 for no timeout]
|
||||||
|
* @return ApiClient
|
||||||
|
*/
|
||||||
|
public function setCurlTimeout($seconds) {
|
||||||
|
if (!is_numeric($seconds) || $seconds < 0) {
|
||||||
|
throw new \InvalidArgumentException('Timeout value must be numeric and a non-negative number.');
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->curlTimeout = $seconds;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* get the HTTP timeout value
|
||||||
|
*
|
||||||
|
* @return string HTTP timeout value
|
||||||
|
*/
|
||||||
|
public function getCurlTimeout() {
|
||||||
|
return $this->curlTimeout;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param bool $debug
|
* @param bool $debug
|
||||||
* @return ApiConfiguration
|
* @return ApiConfiguration
|
||||||
|
Loading…
x
Reference in New Issue
Block a user