/** * Composes HTTP request CUrl options, which will be merged with the default ones. * @param string $method request type. * @param string $url request URL. * @param array $params request params. * @return array CUrl options. * @throws Exception on failure. */ protected function composeRequestCurlOptions($method, $url, array $params) { if ($method == 'CUSTOM_POST') { $curlOptions = []; $curlOptions[CURLOPT_POST] = true; $curlOptions[CURLOPT_POSTFIELDS] = implode('&', $params); return $curlOptions; } else { return parent::composeRequestCurlOptions($method, $url, $params); } }
/** * Add curl headers * * @inheritdoc */ protected function composeRequestCurlOptions($method, $url, array $params) { $curlOptions = parent::composeRequestCurlOptions($method, $url, $params); // add HTTP Basic Authorization headers for getting access token if ($url == $this->tokenUrl) { $curlOptions[CURLOPT_HTTPHEADER][] = 'Authorization: Basic ' . base64_encode("{$params["client_id"]}:{$params["client_secret"]}"); } elseif (strpos($url, $this->apiBaseUrl) !== false) { $curlOptions[CURLOPT_HTTPHEADER][] = 'Authorization: Bearer ' . $params['access_token']; } return $curlOptions; }