/// <inheritdoc /> public ISchemaProducer WithSink(ISchemaSink sink) { sink.ThrowIfNullOrDefault(); this.Sinks.Add(sink); return(this); }
private static async Task ConsumeAsync(Options options, ISchemaSink sink) { var consumer = new SchemaConsumer() .WithSink(sink); var downloaded = await consumer.ConsumeAsync(options.Filepath).ConfigureAwait(false); Console.WriteLine($"{sink.Name}: {SchemaConsumed}"); Console.WriteLine(downloaded); }
/// <summary> /// Adds the <see cref="HttpClient"/> instance to the sink. /// </summary> /// <param name="sink"><see cref="ISchemaSink"/> instance.</param> /// <param name="httpClient"><see cref="HttpClient"/> instance.</param> /// <returns>Returns the <see cref="ISchemaSink"/> instance.</returns> public static ISchemaSink WithHttpClient(this ISchemaSink sink, HttpClient httpClient) { sink.ThrowIfNullOrDefault(); httpClient.ThrowIfNullOrDefault(); var instance = (sink as HttpSchemaSink).ThrowIfNullOrDefault(); instance.WithHttpClient(httpClient); return(instance); }
private static async Task SetSchemaAsync(ISchemaSink sink, string schema, string path, ConcurrentQueue <Exception> exceptions) { try { await sink.SetSchemaAsync(schema, path).ConfigureAwait(false); } catch (Exception ex) { exceptions.Enqueue(ex); } }
/// <summary> /// Adds the <see cref="CloudBlobClient"/> instance to the sink. /// </summary> /// <param name="sink"><see cref="ISchemaSink"/> instance.</param> /// <param name="container">Blob container name.</param> /// <returns>Returns the <see cref="ISchemaSink"/> instance.</returns> public static ISchemaSink WithContainer(this ISchemaSink sink, string container) { sink.ThrowIfNullOrDefault(); container.ThrowIfNullOrWhiteSpace(); var instance = (sink as BlobStorageSchemaSink).ThrowIfNullOrDefault(); instance.WithContainer(container); return(instance); }
/// <summary> /// Adds the <see cref="CloudBlobClient"/> instance to the sink. /// </summary> /// <param name="sink"><see cref="ISchemaSink"/> instance.</param> /// <param name="blobClient"><see cref="CloudBlobClient"/> instance.</param> /// <returns>Returns the <see cref="ISchemaSink"/> instance.</returns> public static ISchemaSink WithBlobClient(this ISchemaSink sink, CloudBlobClient blobClient) { sink.ThrowIfNullOrDefault(); blobClient.ThrowIfNullOrDefault(); var instance = (sink as BlobStorageSchemaSink).ThrowIfNullOrDefault(); instance.WithBlobClient(blobClient); return(instance); }
/// <inheritdoc /> public ISchemaConsumer WithSink(ISchemaSink sink) { this.Sink = sink.ThrowIfNullOrDefault(); return(this); }
/// <summary> /// Initializes a new instance of the <see cref="SchemaConsumer"/> class. /// </summary> /// <param name="sink"><see cref="ISchemaSink"/> instance.</param> public SchemaConsumer(ISchemaSink sink) { this.Sink = sink.ThrowIfNullOrDefault(); }