psr2 & rollback for timeout handle
This commit is contained in:
parent
7ec35c2ad8
commit
de6dbdd87f
@ -288,11 +288,14 @@ class ApiClient
|
|||||||
return $this->client->makeRequest(
|
return $this->client->makeRequest(
|
||||||
"/customers/" . $customer[$by] . "/edit",
|
"/customers/" . $customer[$by] . "/edit",
|
||||||
Client::METHOD_POST,
|
Client::METHOD_POST,
|
||||||
$this->fillSite($site, array(
|
$this->fillSite(
|
||||||
|
$site,
|
||||||
|
array(
|
||||||
'customer' => json_encode($customer),
|
'customer' => json_encode($customer),
|
||||||
'by' => $by,
|
'by' => $by
|
||||||
)
|
)
|
||||||
));
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -378,9 +381,10 @@ class ApiClient
|
|||||||
* @param array $filter (default: array())
|
* @param array $filter (default: array())
|
||||||
* @param int $page (default: null)
|
* @param int $page (default: null)
|
||||||
* @param int $limit (default: null)
|
* @param int $limit (default: null)
|
||||||
|
* @param string $site (default: null)
|
||||||
* @return ApiResponse
|
* @return ApiResponse
|
||||||
*/
|
*/
|
||||||
public function storeInventories(array $filter = array(), $page = null, $limit = null)
|
public function storeInventories(array $filter = array(), $page = null, $limit = null, $site = null)
|
||||||
{
|
{
|
||||||
$parameters = array();
|
$parameters = array();
|
||||||
|
|
||||||
@ -394,7 +398,7 @@ class ApiClient
|
|||||||
$parameters['limit'] = (int) $limit;
|
$parameters['limit'] = (int) $limit;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->client->makeRequest('/store/inventories', Client::METHOD_GET, $parameters);
|
return $this->client->makeRequest('/store/inventories', Client::METHOD_GET, $this->fillSite($site, $parameters));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -410,9 +414,11 @@ class ApiClient
|
|||||||
throw new \InvalidArgumentException('Parameter `offers` must contains array of the customers');
|
throw new \InvalidArgumentException('Parameter `offers` must contains array of the customers');
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->client->makeRequest("/store/inventories/upload", Client::METHOD_POST, $this->fillSite($site, array(
|
return $this->client->makeRequest(
|
||||||
'offers' => json_encode($offers),
|
"/store/inventories/upload",
|
||||||
)));
|
Client::METHOD_POST,
|
||||||
|
$this->fillSite($site, array('offers' => json_encode($offers)))
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -39,8 +39,14 @@ class Client
|
|||||||
* @param bool $debug
|
* @param bool $debug
|
||||||
* @return ApiResponse
|
* @return ApiResponse
|
||||||
*/
|
*/
|
||||||
public function makeRequest($path, $method, array $parameters = array(), $timeout = 30, $verify = false, $debug = false)
|
public function makeRequest(
|
||||||
{
|
$path,
|
||||||
|
$method,
|
||||||
|
array $parameters = array(),
|
||||||
|
$timeout = 30,
|
||||||
|
$verify = false,
|
||||||
|
$debug = false
|
||||||
|
) {
|
||||||
$allowedMethods = array(self::METHOD_GET, self::METHOD_POST);
|
$allowedMethods = array(self::METHOD_GET, self::METHOD_POST);
|
||||||
if (!in_array($method, $allowedMethods)) {
|
if (!in_array($method, $allowedMethods)) {
|
||||||
throw new \InvalidArgumentException(sprintf(
|
throw new \InvalidArgumentException(sprintf(
|
||||||
@ -53,6 +59,7 @@ class Client
|
|||||||
$parameters = array_merge($this->defaultParameters, $parameters);
|
$parameters = array_merge($this->defaultParameters, $parameters);
|
||||||
|
|
||||||
$path = $this->url . $path;
|
$path = $this->url . $path;
|
||||||
|
|
||||||
if (self::METHOD_GET === $method && sizeof($parameters)) {
|
if (self::METHOD_GET === $method && sizeof($parameters)) {
|
||||||
$path .= '?' . http_build_query($parameters);
|
$path .= '?' . http_build_query($parameters);
|
||||||
}
|
}
|
||||||
@ -72,10 +79,21 @@ class Client
|
|||||||
curl_setopt($ch, CURLOPT_POSTFIELDS, $parameters);
|
curl_setopt($ch, CURLOPT_POSTFIELDS, $parameters);
|
||||||
}
|
}
|
||||||
|
|
||||||
$responseBody = $this->curlExec($ch, $debug);
|
$responseBody = curl_exec($ch);
|
||||||
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
||||||
$errno = curl_errno($ch);
|
$errno = curl_errno($ch);
|
||||||
$error = curl_error($ch);
|
$error = curl_error($ch);
|
||||||
|
|
||||||
|
/*if ($errno && in_array($errno, array(6, 7, 28, 34, 35)) && $this->retry < 3) {
|
||||||
|
$this->retry += 1;
|
||||||
|
|
||||||
|
if ($debug) {
|
||||||
|
error_log('CURL RETRY #' . $this->retry . PHP_EOL, 4);
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->makeRequest($path, $method, $parameters, $timeout, $verify, $debug);
|
||||||
|
}*/
|
||||||
|
|
||||||
curl_close($ch);
|
curl_close($ch);
|
||||||
|
|
||||||
if ($errno) {
|
if ($errno) {
|
||||||
@ -84,26 +102,4 @@ class Client
|
|||||||
|
|
||||||
return new ApiResponse($statusCode, $responseBody);
|
return new ApiResponse($statusCode, $responseBody);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param resource $ch
|
|
||||||
* @param boolean $debug
|
|
||||||
* @return mixed
|
|
||||||
*/
|
|
||||||
private function curlExec($ch, $debug) {
|
|
||||||
$exec = curl_exec($ch);
|
|
||||||
|
|
||||||
if (curl_errno($ch) && in_array(curl_errno($ch), array(6, 7, 28, 34, 35)) && $this->retry < 3) {
|
|
||||||
$this->retry += 1;
|
|
||||||
|
|
||||||
if ($debug) {
|
|
||||||
error_log('CURL RETRY #' . $this->retry . PHP_EOL, 4);
|
|
||||||
}
|
|
||||||
|
|
||||||
$this->curlExec($ch, $debug);
|
|
||||||
}
|
|
||||||
|
|
||||||
return $exec;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user