public function httpPost($url, $userAgent = null, $parameters = null) { $ch = $this->commonCurlParams($url, $userAgent); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $parameters); curl_setopt($ch, CURLOPT_HEADER, false); $response = $this->execute($ch); return $response; }
private function invokePost($parameters) { $response = array(); $statusCode = 200; $this->success = false; // Submit the request and read response body try { $shouldRetry = true; $retries = 0; do { try { $this->constructUserAgentHeader(); $httpCurlRequest = new HttpCurl($this->config); $response = $httpCurlRequest->httpPost($this->mwsServiceUrl, $this->userAgent, $parameters); $curlResponseInfo = $httpCurlRequest->getCurlResponseInfo(); $statusCode = $curlResponseInfo["http_code"]; $this->logMessage($this->userAgent); $response = array('Status' => $statusCode, 'ResponseBody' => $response); $statusCode = $response['Status']; if ($statusCode == 200) { $shouldRetry = false; $this->success = true; } elseif ($statusCode == 500 || $statusCode == 503) { $shouldRetry = true; if ($shouldRetry && strtolower($this->config['handle_throttle'])) { $this->pauseOnRetry(++$retries, $statusCode); } } else { $shouldRetry = false; } } catch (\Exception $e) { throw $e; } } while ($shouldRetry); } catch (\Exception $se) { throw $se; } $this->logMessage($this->sanitizeResponseData($response['ResponseBody'])); return $response; }