/** * @param Request $request */ public function makeStreamingHttpRequest(Request $request) { $this->getGuzzleClient(function (Client $client) use($request) { $requestId = uniqid(); $httpResponse = null; $requestObject = $client->createRequest($request->getMethod(), $request->getUrl(), ['future' => true, 'stream' => true]); $this->logDebug('[' . $requestId . ']Sending request'); $client->send($requestObject)->then(function ($response) use($requestId, $request) { $this->logDebug('[' . $requestId . ']Remote responded'); $request->callResolve($response); }, function ($error) use($requestId, $request) { $this->logDebug('[' . $requestId . ']Error during request'); $request->callReject($error); }); }); }