// to some degree, e.g. "arc install-certificate" does it for you. $conduit_uri = new PhutilURI($conduit_uri); $conduit_uri->setPath('/api/'); $conduit_uri = (string) $conduit_uri; } $workflow->setConduitURI($conduit_uri); // Apply global CA bundle from configs. $ca_bundle = $configuration_manager->getConfigFromAnySource('https.cabundle'); if ($ca_bundle) { $ca_bundle = Filesystem::resolvePath($ca_bundle, $working_copy->getProjectRoot()); HTTPSFuture::setGlobalCABundleFromPath($ca_bundle); } $blind_key = 'https.blindly-trust-domains'; $blind_trust = $configuration_manager->getConfigFromAnySource($blind_key); if ($blind_trust) { $trust_extension = PhutilHTTPEngineExtension::requireExtension(ArcanistBlindlyTrustHTTPEngineExtension::EXTENSIONKEY); $trust_extension->setDomains($blind_trust); } if ($need_conduit) { if (!$conduit_uri) { $message = phutil_console_format("%s\n\n - %s\n - %s\n - %s\n", pht('This command requires arc to connect to a Phabricator install, ' . 'but no Phabricator installation is configured. To configure a ' . 'Phabricator URI:'), pht('set a default location with `%s`; or', 'arc set-config default <uri>'), pht('specify `%s` explicitly; or', '--conduit-uri=uri'), pht("run `%s` in a working copy with an '%s'.", 'arc', '.arcconfig')); $message = phutil_console_wrap($message); throw new ArcanistUsageException($message); } $workflow->establishConduit(); } $hosts_config = idx($user_config, 'hosts', array()); $host_config = idx($hosts_config, $conduit_uri, array()); $user_name = idx($host_config, 'user'); $certificate = idx($host_config, 'cert'); $conduit_token = idx($host_config, 'token');