Попытка заставить мой контроллер Symfony2 запросить API с поддержкой API. Необходимо сохранить cookie, полученный по первому запросу API, чтобы использовать его во втором запросе.Symfony2 Guzzle store cookie для запроса
Вот мой код контроллера:
use Guzzle\Http\Client;
use Guzzle\Plugin\Cookie\CookiePlugin;
use Guzzle\Plugin\Cookie\CookieJar\ArrayCookieJar;
class DefaultController extends Controller
{
public function verifyurlActionOK(Request $request)
{
$cookiePlugin = new CookiePlugin(new ArrayCookieJar());
$client = new Client();
$this->get('session')->set('client', $client);
$client->addSubscriber($cookiePlugin);
$request = $client->get('https://address/scanit?url='.$scantarget);
$response = $request->send();
}
public function progressAction(Request $request)
{
$cli = $session->get('client');
$crequest = $cli->get('https://address/progress');
$response = $crequest->send();
return $this->render('AppBundle:Default:progress.html.twig',
array(
'response' => $cresponse->getBody()));
}
}
Пробовал установить клиент в качестве публичной переменного в классе, и как контроллер по умолчанию выше в сессии (сериализованном). И, кажется, не работает, здесь ошибка появляется на ГЭТ() в progressAction
[2016-11-29 16:22:46] request.CRITICAL: Uncaught PHP Exception Symfony\Component\Debug\Exception\FatalErrorException: "Error: Call to a member function get() on a non-object"
Как получить доступ к $ клиента от verifyurlActionOK в progressAction ??
Спасибо,
переменную '$ session' не initialyzated в' метод progressAction' – Matteo