diff --git a/src/conduit/ArcanistConduitEngine.php b/src/conduit/ArcanistConduitEngine.php --- a/src/conduit/ArcanistConduitEngine.php +++ b/src/conduit/ArcanistConduitEngine.php @@ -40,7 +40,7 @@ } public function newCall($method, array $parameters) { - if ($this->conduitURI == null) { + if ($this->conduitURI == null && $this->client === null) { $this->raiseURIException(); } @@ -78,9 +78,11 @@ if ($token) { $client->setConduitToken($this->getConduitToken()); } + + $this->client = $client; } - return $client; + return $this->client; } private function raiseURIException() { @@ -105,4 +107,12 @@ throw new ArcanistUsageException($block->drawConsoleString()); } + public static function newConduitEngineFromConduitClient( + ConduitClient $client) { + + $engine = new self(); + $engine->client = $client; + + return $engine; + } }