Skip to content

Commit 187394d

Browse files
authored
Merge pull request thephpleague#57 from JohnstonCode/stream_reads
Added streamReads config option to aws provider
2 parents e93ff62 + 9adafc5 commit 187394d

3 files changed

Lines changed: 7 additions & 0 deletions

File tree

docs/2-cloud-storage-providers.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ flysystem:
5555
client: 'aws_client_service' # The service ID of the Aws\S3\S3Client instance
5656
bucket: 'bucket_name'
5757
prefix: 'optional/path/prefix'
58+
streamReads: true
5859
```
5960
6061
## Google Cloud Storage

src/Adapter/Builder/AwsAdapterDefinitionBuilder.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@ protected function configureOptions(OptionsResolver $resolver)
4848

4949
$resolver->setDefault('options', []);
5050
$resolver->setAllowedTypes('options', 'array');
51+
52+
$resolver->setDefault('streamReads', true);
53+
$resolver->setAllowedTypes('streamReads', 'bool');
5154
}
5255

5356
protected function configureDefinition(Definition $definition, array $options)
@@ -59,5 +62,6 @@ protected function configureDefinition(Definition $definition, array $options)
5962
$definition->setArgument(3, null);
6063
$definition->setArgument(4, null);
6164
$definition->setArgument(5, $options['options']);
65+
$definition->setArgument(6, $options['streamReads']);
6266
}
6367
}

tests/Adapter/Builder/AwsAdapterDefinitionBuilderTest.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ public function testOptionsBehavior()
6262
'options' => [
6363
'ServerSideEncryption' => 'AES256',
6464
],
65+
'streamReads' => false,
6566
]);
6667

6768
$this->assertSame(AwsS3V3Adapter::class, $definition->getClass());
@@ -70,5 +71,6 @@ public function testOptionsBehavior()
7071
$this->assertSame('bucket', $definition->getArgument(1));
7172
$this->assertSame('prefix/path', $definition->getArgument(2));
7273
$this->assertSame(['ServerSideEncryption' => 'AES256'], $definition->getArgument(5));
74+
$this->assertFalse($definition->getArgument(6));
7375
}
7476
}

0 commit comments

Comments
 (0)