Exemple #1
0
        /// <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");
        }
Exemple #3
0
        /// <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);
        }
Exemple #4
0
        /// <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));
        }