/// <inheritdoc /> public Task <Stream> GetAsync(StorageGetOptions options, CancellationToken cancellationToken = default) { ValidateFileName(options.Container); ValidateFileName(options.FileName); _logger.LogDebug("Fetching file {FileName} from container {Container}", options.FileName, options.Container); return(Task.FromResult(File.OpenRead(GetFileLocation(options.Container, options.FileName)) as Stream)); }
public void TestFileNameInvalid(string inputPathName) { // Arrange var storageOptions = new StorageGetOptions { Container = _fixture.Create <string>(), FileName = inputPathName }; // Act Func <Task> act = async() => await _fileSystemStorageProvider.GetAsync(storageOptions); // Assert act.Should().Throw <IOException>().WithMessage("Invalid path name"); }
/// <inheritdoc /> public async Task <Stream> GetAsync(StorageGetOptions options, CancellationToken cancellationToken = default) { ValidateFileName(options.Container); ValidateFileName(options.FileName); _logger.LogDebug("Fetching file {FileName} from container {Container}", options.FileName, options.Container); var request = new GetObjectRequest { BucketName = _bucketName, Key = GetFileKey(options.Container, options.FileName), }; var response = await _client.GetObjectAsync(request, cancellationToken); _disposables.Add(response); return(response.ResponseStream); }
/// <inheritdoc /> public Task <Stream> GetAsync(StorageGetOptions options, CancellationToken cancellationToken = default) { var bytes = _contents[GetFileKey(options.Container, options.FileName)]; return(Task.FromResult(new MemoryStream(bytes) as Stream)); }