Dobra, to doszedłem do tego, że nagłówek dodaje się tutaj:
protected function curl_raw ( $opts = array() )
{
if (isset($opts[CURLOPT_HTTPHEADER]))
{
$header = $opts[CURLOPT_HTTPHEADER];
}
else
{
$header = array();
}
$ch = curl_init();
$method = $this->getMethod();
$url = $this->getRequestUrl();
$header[] = $this->getAuthorizationHeader();
$query = $this->getQueryString();
$body = $this->getBody();
Mój nagłówek wygląda tak:
$headers = array(
CURLOPT_HTTPHEADER => array(
'Accept: application/json',
'Content-type: application/json'
)
);
Natomiast wprowadzam go w ten sposób:
$createResult = $createRequest->doRequest($user_id,$headers);
Bo funkcja "doRequest" wygląda tak:
function doRequest ( $usr_id = 0, $curl_options = array(), $options = array() )
Problem teraz jest taki, że jak zrobie var_dump, czy tam print_r na tym arrayu to pokazuje mi, że wygląda on w ten sposób:
array(0) { } array(0) { } array(1) { [10023]=> array(2) { [0]=> string(24) "Accept: application/json" [1]=> string(30) "Content-type: application/json" } }
gdzie pojęcia nie mam dlaczego się tak dzieje. :)
//EDIT
Zanim $curl_options zostają przekazane do curl_raw() to wykonuje się funkcja:
protected function prepareCurlOptions ( $curl_options, $extra_headers )
{
$hs = array();
if (!empty($curl_options[CURLOPT_HTTPHEADER]) && is_array($curl_options[CURLOPT_HTTPHEADER]))
{
foreach ($curl_options[CURLOPT_HTTPHEADER] as $h)
{
list($opt, $val) = explode(':', $h, 2);
$opt = str_replace(' ', '-', ucwords(str_replace('-', ' ', $opt)));
$hs[$opt] = $val;
}
}
$curl_options[CURLOPT_HTTPHEADER] = array();
$hs = array_merge($hs, $extra_headers);
foreach ($hs as $h => $v)
{
$curl_options[CURLOPT_HTTPHEADER][] = "$h: $v";
}
return $curl_options;
}
Jeśli ktoś byłby w stanie mi to wszystko wytłumaczyć byłbym bardzo wdzięczny, ponieważ tego bardzo pilnie potrzebuję na dziś :)