Skip to content

Commit 4b2ee48

Browse files
committed
Replace plugins package with client-common
1 parent c796537 commit 4b2ee48

File tree

8 files changed

+61
-19
lines changed

8 files changed

+61
-19
lines changed

ClientFactory/PluginClientFactory.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
namespace Http\HttplugBundle\ClientFactory;
44

5-
use Http\Client\Plugin\Plugin;
6-
use Http\Client\Plugin\PluginClient;
5+
use Http\Client\Common\Plugin;
6+
use Http\Client\Common\PluginClient;
77

88
/**
99
* This factory creates a PluginClient.

Collector/MessageJournal.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
namespace Http\HttplugBundle\Collector;
44

55
use Http\Client\Exception;
6-
use Http\Client\Plugin\Journal;
6+
use Http\Client\Common\Plugin\Journal;
77
use Http\Message\Formatter;
88
use Http\Message\Formatter\SimpleFormatter;
99
use Psr\Http\Message\RequestInterface;

DependencyInjection/Configuration.php

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

179179
->arrayNode('logger')
180-
->canBeDisabled()
181180
->addDefaultsIfNotSet()
182181
->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(array(true, false, 'auto'))
197+
->defaultValue('auto')
198+
->end()
183199
->scalarNode('logger')
184200
->info('This must be a service id to a service implementing Psr\Log\LoggerInterface')
185201
->defaultValue('logger')

DependencyInjection/HttplugExtension.php

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
namespace Http\HttplugBundle\DependencyInjection;
44

5-
use Http\Client\Plugin\AuthenticationPlugin;
6-
use Http\Client\Plugin\PluginClient;
5+
use Http\Client\Common\Plugin\AuthenticationPlugin;
6+
use Http\Client\Common\PluginClient;
77
use Http\HttplugBundle\ClientFactory\DummyClient;
88
use Http\Message\Authentication\BasicAuth;
99
use Http\Message\Authentication\Bearer;
@@ -119,6 +119,11 @@ private function configurePlugins(ContainerBuilder $container, array $config)
119119

120120
foreach ($config as $name => $pluginConfig) {
121121
$pluginId = 'httplug.plugin.'.$name;
122+
123+
if ('auto' === $pluginConfig['enabled']) {
124+
$pluginConfig['enabled'] = $this->resolvePluginStatus($name, $pluginConfig);
125+
}
126+
122127
if ($pluginConfig['enabled']) {
123128
$def = $container->getDefinition($pluginId);
124129
$this->configurePluginByName($name, $def, $pluginConfig);
@@ -205,4 +210,25 @@ private function configureAuthentication(ContainerBuilder $container, array $con
205210
->addArgument(new Reference($authServiceKey));
206211
}
207212
}
213+
214+
/**
215+
* Resolve the plugin enabled status if it is 'auto'.
216+
*
217+
* Returns false if plugin has no auto status allowed.
218+
*
219+
* @param string $name
220+
* @param array $pluginConfig
221+
*
222+
* @return bool
223+
*/
224+
private function resolvePluginStatus($name, array $pluginConfig)
225+
{
226+
switch ($name) {
227+
case 'logger':
228+
return class_exists('Http\Client\Common\Plugin\LoggerPlugin');
229+
break;
230+
}
231+
232+
return false;
233+
}
208234
}

Resources/config/data-collector.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<argument>null</argument>
1111
</service>
1212

13-
<service id="httplug.collector.history_plugin" class="Http\Client\Plugin\HistoryPlugin" public="false">
13+
<service id="httplug.collector.history_plugin" class="Http\Client\Common\Plugin\HistoryPlugin" public="false">
1414
<argument type="service" id="httplug.collector.message_journal"/>
1515
</service>
1616
</services>

Resources/config/plugins.xml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,27 +4,27 @@
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\Plugin\CachePlugin" public="false">
7+
<service id="httplug.plugin.cache" class="Http\Client\Common\Plugin\CachePlugin" public="false">
88
<argument />
99
<argument />
1010
<argument />
1111
</service>
12-
<service id="httplug.plugin.content_length" class="Http\Client\Plugin\ContentLengthPlugin" public="false" />
13-
<service id="httplug.plugin.cookie" class="Http\Client\Plugin\CookiePlugin" public="false">
12+
<service id="httplug.plugin.content_length" class="Http\Client\Common\Plugin\ContentLengthPlugin" public="false" />
13+
<service id="httplug.plugin.cookie" class="Http\Client\Common\Plugin\CookiePlugin" public="false">
1414
<argument />
1515
</service>
16-
<service id="httplug.plugin.decoder" class="Http\Client\Plugin\DecoderPlugin" public="false" />
17-
<service id="httplug.plugin.error" class="Http\Client\Plugin\ErrorPlugin" public="false" />
18-
<service id="httplug.plugin.history" class="Http\Client\Plugin\HistoryPlugin" public="false">
16+
<service id="httplug.plugin.decoder" class="Http\Client\Common\Plugin\DecoderPlugin" public="false" />
17+
<service id="httplug.plugin.error" class="Http\Client\Common\Plugin\ErrorPlugin" public="false" />
18+
<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\Plugin\LoggerPlugin" public="false">
21+
<service id="httplug.plugin.logger" class="Http\Client\Common\Plugin\LoggerPlugin" public="false">
2222
<argument />
2323
<argument>null</argument>
2424
</service>
25-
<service id="httplug.plugin.redirect" class="Http\Client\Plugin\RedirectPlugin" public="false" />
26-
<service id="httplug.plugin.retry" class="Http\Client\Plugin\RetryPlugin" public="false" />
27-
<service id="httplug.plugin.stopwatch" class="Http\Client\Plugin\StopwatchPlugin" public="false">
25+
<service id="httplug.plugin.redirect" class="Http\Client\Common\Plugin\RedirectPlugin" public="false" />
26+
<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">
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' => true,
65+
'enabled' => 'auto',
6666
'logger' => 'logger',
6767
'formatter' => null,
6868
],

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"php": ">=5.5",
2020
"php-http/client-implementation": "^1.0",
2121
"php-http/message-factory": "^1.0.2",
22-
"php-http/plugins": "^1.0",
22+
"php-http/client-common": "^1.1",
2323
"symfony/options-resolver": "^2.7|^3.0",
2424
"symfony/framework-bundle": "^2.7|^3.0"
2525
},

0 commit comments

Comments
 (0)