Skip to content

Commit 417d401

Browse files
committed
Add plugins dependency back as fallback
1 parent 8262a9b commit 417d401

File tree

5 files changed

+15
-21
lines changed

5 files changed

+15
-21
lines changed

DependencyInjection/Configuration.php

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -177,25 +177,9 @@ protected function configurePlugins(ArrayNodeDefinition $root)
177177
->end() // End history plugin
178178

179179
->arrayNode('logger')
180+
->canBeDisabled()
180181
->addDefaultsIfNotSet()
181182
->children()
182-
->enumNode('enabled')
183-
->beforeNormalization()
184-
->ifString()
185-
->then(function ($v) {
186-
switch ($v) {
187-
case 'true':
188-
return true;
189-
case 'false':
190-
return false;
191-
default:
192-
return $v;
193-
}
194-
})
195-
->end()
196-
->values([true, false, 'auto'])
197-
->defaultValue('auto')
198-
->end()
199183
->scalarNode('logger')
200184
->info('This must be a service id to a service implementing Psr\Log\LoggerInterface')
201185
->defaultValue('logger')

DependencyInjection/HttplugExtension.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,9 @@ private function configurePluginByName($name, Definition $definition, array $con
142142
{
143143
switch ($name) {
144144
case 'cache':
145+
if (class_exists('Http\Client\Common\Plugin\CachePlugin')) {
146+
$definition->setClass('Http\Client\Common\Plugin\CachePlugin');
147+
}
145148
$definition
146149
->replaceArgument(0, new Reference($config['cache_pool']))
147150
->replaceArgument(1, new Reference($config['stream_factory']))
@@ -157,6 +160,9 @@ private function configurePluginByName($name, Definition $definition, array $con
157160
$definition->replaceArgument(0, new Reference($config['journal']));
158161
break;
159162
case 'logger':
163+
if (class_exists('Http\Client\Common\Plugin\LoggerPlugin')) {
164+
$definition->setClass('Http\Client\Common\Plugin\LoggerPlugin');
165+
}
160166
$definition->replaceArgument(0, new Reference($config['logger']));
161167
if (!empty($config['formatter'])) {
162168
$definition->replaceArgument(1, new Reference($config['formatter']));
@@ -171,6 +177,9 @@ private function configurePluginByName($name, Definition $definition, array $con
171177
$definition->addArgument($config['retry']);
172178
break;
173179
case 'stopwatch':
180+
if (class_exists('Http\Client\Common\Plugin\StopwatchPlugin')) {
181+
$definition->setClass('Http\Client\Common\Plugin\StopwatchPlugin');
182+
}
174183
$definition->replaceArgument(0, new Reference($config['stopwatch']));
175184
break;
176185
}

Resources/config/plugins.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
55

66
<services>
7-
<service id="httplug.plugin.cache" class="Http\Client\Common\Plugin\CachePlugin" public="false">
7+
<service id="httplug.plugin.cache" class="Http\Client\Plugin\CachePlugin" public="false">
88
<argument />
99
<argument />
1010
<argument />
@@ -18,13 +18,13 @@
1818
<service id="httplug.plugin.history" class="Http\Client\Common\Plugin\HistoryPlugin" public="false">
1919
<argument />
2020
</service>
21-
<service id="httplug.plugin.logger" class="Http\Client\Common\Plugin\LoggerPlugin" public="false">
21+
<service id="httplug.plugin.logger" class="Http\Client\Plugin\LoggerPlugin" public="false">
2222
<argument />
2323
<argument>null</argument>
2424
</service>
2525
<service id="httplug.plugin.redirect" class="Http\Client\Common\Plugin\RedirectPlugin" public="false" />
2626
<service id="httplug.plugin.retry" class="Http\Client\Common\Plugin\RetryPlugin" public="false" />
27-
<service id="httplug.plugin.stopwatch" class="Http\Client\Common\Plugin\StopwatchPlugin" public="false">
27+
<service id="httplug.plugin.stopwatch" class="Http\Client\Plugin\StopwatchPlugin" public="false">
2828
<argument />
2929
</service>
3030
</services>

Tests/Unit/DependencyInjection/ConfigurationTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ public function testEmptyConfiguration()
6262
'enabled' => false,
6363
],
6464
'logger' => [
65-
'enabled' => 'auto',
65+
'enabled' => true,
6666
'logger' => 'logger',
6767
'formatter' => null,
6868
],

composer.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
"php-http/client-implementation": "^1.0",
2121
"php-http/message-factory": "^1.0.2",
2222
"php-http/client-common": "^1.1",
23+
"php-http/plugins": "^1.0",
2324
"symfony/options-resolver": "^2.7|^3.0",
2425
"symfony/framework-bundle": "^2.7|^3.0"
2526
},

0 commit comments

Comments
 (0)