connector = $connector; } /** * @return array */ public function getCapturedStreamOptions() { return (array) $this->capturedStreamOptions; } /** * @param array $capturedStreamOptions * * @return $this */ public function setCapturedStreamOptions($capturedStreamOptions) { $this->capturedStreamOptions = $capturedStreamOptions; return $this; } public function connect($uri) { return $this->connector->connect($uri)->then(function (ConnectionInterface $conn) { $conn->on('close', function () use ($conn) { if (is_resource($conn->stream)) { $this->setCapturedStreamOptions(stream_context_get_options($conn->stream)); } }); return resolve($conn); }); } }