/** * @param string $cookieFileName * @return $this */ public function setup($cookieFileName) { $this->curlSender->setCertificationVerify(FALSE); $this->curlSender->options['cookieSession'] = TRUE; $this->curlSender->options['cookieFile'] = $cookieFileName; $this->curlSender->options['cookieJar'] = $cookieFileName; $this->curlSender->headers['Content-Type'] = 'application/json'; return $this; }
/** @return CUrl */ private function createCurl($url, array $post, $filename) { $request = new Curl\Request($url); $request->setPost($post, array('file' => $filename)); $curl = new Curl\CurlSender(); $curl->setTimeout(30); $curl->options = array('verbose' => 0, 'ssl_verifypeer' => 0, 'ssl_verifyhost' => 2) + $curl->options; $request->setSender($curl); return $request; }
/** * @return Currency[] */ public function getTicker() { $request = new Request($this->baseUrl . '/ticker'); $response = Json::decode($this->sender->send($request)->getResponse(), Json::FORCE_ARRAY); $currencies = []; foreach ($response as $code => $currency) { $currency['code'] = $code; $currencies[$code] = Currency::createFormArray($currency); } return $currencies; }
/** * @throws CurlException * @return Response */ public function send() { if ($this->sender === NULL) { $this->sender = new CurlSender(); } return $this->sender->send($this); }
/** * @return CurlSender */ private function getCurlSender() { if ($this->curlSender === NULL) { $this->curlSender = new CurlSender(); $this->curlSender->setTimeout(self::DEFAULT_TIMEOUT); $this->curlSender->setConnectTimeout(self::DEFAULT_CONNECTION_TIMEOUT); $this->curlSender->repeatOnFail = self::MAX_ATTEMPTS; } return $this->curlSender; }
/** * @param Request $request * @param string|array $query * @return mixed * @throws ChainException */ private function sendRequest(Request $request, $query = NULL) { try { $response = NULL; if (!empty($query)) { $request->setSender($this->sender); $response = $request->get($query); } else { $response = $this->sender->send($request); } return Json::decode($response->getResponse(), Json::FORCE_ARRAY); } catch (\Kdyby\Curl\CurlException $ex) { $response = Json::decode($ex->getResponse()->getResponse()); throw new ChainException($response->message, $ex->getCode()); } }