/// <summary> /// Initializes the ModelsRepositoryClient with custom client <paramref name="options"/> while pointing to /// a custom <paramref name="repositoryUri"/>. /// </summary> /// <param name="repositoryUri"> /// The models repository Uri. This can be a remote endpoint or local directory. /// </param> /// <param name="options"> /// ModelsRepositoryClientOptions to configure model dependency resolution and client behavior. /// </param> public ModelsRepositoryClient(Uri repositoryUri, ModelsRepositoryClientOptions options = default) { if (options == null) { options = new ModelsRepositoryClientOptions(); } RepositoryUri = repositoryUri; _clientOptions = options; _clientDiagnostics = new ClientDiagnostics(options); _repositoryHandler = new RepositoryHandler(RepositoryUri, _clientDiagnostics, _clientOptions); }
public RepositoryHandler(Uri repositoryUri, ClientDiagnostics clientDiagnostics, ModelsRepositoryClientOptions options) { Argument.AssertNotNull(options, nameof(options)); _clientOptions = options; _clientDiagnostics = clientDiagnostics; _modelFetcher = repositoryUri.Scheme == ModelsRepositoryConstants.File ? _modelFetcher = new FileModelFetcher(_clientDiagnostics) : _modelFetcher = new HttpModelFetcher(_clientDiagnostics, _clientOptions); _clientId = Guid.NewGuid(); _repositoryUri = repositoryUri; ModelsRepositoryEventSource.Instance.InitFetcher(_clientId, repositoryUri.Scheme); }
/// <summary> /// Initializes the ModelsRepositoryClient with custom client <paramref name="options"/> while pointing to /// the <see href="https://devicemodels.azure.com">Azure IoT Models Repository</see> service. /// </summary> /// <param name="options"> /// ModelsRepositoryClientOptions to configure model dependency resolution and client behavior. /// </param> public ModelsRepositoryClient(ModelsRepositoryClientOptions options) : this(new Uri(ModelsRepositoryConstants.DefaultModelsRepository), options) { }
/// <summary> /// Initializes the ModelsRepositoryClient with custom client <paramref name="options"/> while pointing to /// the <see href="https://devicemodels.azure.com">Azure IoT Models Repository</see> service. /// </summary> /// <param name="options"> /// ModelsRepositoryClientOptions to configure resolution and client behavior. /// </param> public ModelsRepositoryClient(ModelsRepositoryClientOptions options) : this(DefaultModelsRepository, options) { }