From 67e169715a8ef1103eb80370d6e2c252ae13e86b Mon Sep 17 00:00:00 2001 From: rubench Date: Thu, 27 Apr 2023 19:59:32 +0200 Subject: [PATCH] feat: add connectivityChecker option --- src/Adapter/Builder/SftpAdapterDefinitionBuilder.php | 7 +++++++ tests/Adapter/Builder/SftpAdapterDefinitionBuilderTest.php | 1 + 2 files changed, 8 insertions(+) diff --git a/src/Adapter/Builder/SftpAdapterDefinitionBuilder.php b/src/Adapter/Builder/SftpAdapterDefinitionBuilder.php index 16cf65a..7398ffd 100644 --- a/src/Adapter/Builder/SftpAdapterDefinitionBuilder.php +++ b/src/Adapter/Builder/SftpAdapterDefinitionBuilder.php @@ -85,6 +85,9 @@ protected function configureOptions(OptionsResolver $resolver) $resolver->setDefault('permPublic', 0744); $resolver->setAllowedTypes('permPublic', 'scalar'); + + $resolver->setDefault('connectivityChecker', null); + $resolver->setAllowedTypes('connectivityChecker', ['string', 'null']); } protected function configureDefinition(Definition $definition, array $options) @@ -97,6 +100,10 @@ protected function configureDefinition(Definition $definition, array $options) $connectionFqcn = SftpConnectionProviderLegacy::class; } + if (null !== $options['connectivityChecker']) { + $options['connectivityChecker'] = new Definition($options['connectivityChecker']); + } + $definition->setClass($adapterFqcn); $definition->setArgument(0, (new Definition($connectionFqcn)) diff --git a/tests/Adapter/Builder/SftpAdapterDefinitionBuilderTest.php b/tests/Adapter/Builder/SftpAdapterDefinitionBuilderTest.php index 9a852fa..ba02634 100644 --- a/tests/Adapter/Builder/SftpAdapterDefinitionBuilderTest.php +++ b/tests/Adapter/Builder/SftpAdapterDefinitionBuilderTest.php @@ -78,6 +78,7 @@ public function testOptionsBehavior() 'directoryPerm' => 0755, 'permPrivate' => 0700, 'permPublic' => 0744, + 'connectivityChecker' => null, 'host' => 'ftp.example.com', 'username' => 'username', ];