В общем столкнулся с такой неприятностью.
Мне нужно было отправить три запроса, первый GET с одним Content-Type (application/x-www-form-urlencoded) и два POST запроса с другим Content-Type (application/json).
Прописал я условие, чтобы мой headers менялся.
Но к моему удивлению отправлялся постоянно один и тот-же Content-Type (application/x-www-form-urlencoded).
Долго не мог понять в чем дело (возможно по незнанию).
Помогло добавление параметра requestConfig при создании модели Client.
Добавил условие, которое проверяло метод и добавляло данный параметр:
Код:
$settings = ['baseUrl' => $this->url];
if ($method == "POST") {
$settings = array_merge($settings, [
'requestConfig' => [
'format' => Client::FORMAT_JSON
],
'responseConfig' => [
'format' => Client::FORMAT_JSON
],
]);
}
$client = new Client($settings);