Skip to content

Commit 3bc3559

Browse files
committed
Replace plugins package with client-common
Applied fixes from StyleCI Add plugins dependency back as fallback Remove auto (default) config from plugins Update changelog Make sure to use a plugin version with correct interface
1 parent 218bed6 commit 3bc3559

File tree

7 files changed

+33
-14
lines changed

7 files changed

+33
-14
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
- Guzzle 6 client is now created according to the Httplug specifications with automated minimal behaviour.
1212
Make sure you configure the Httplug plugins as needed,
1313
for example if you want to get exceptions for failure HTTP status codes.
14+
- **[BC] PluginClientFactory returns an instance of `Http\Client\Common\PluginClient`** (see [php-http/client-common#14](https://github.com/php-http/client-common/pull/14))
15+
- Plugins are loaded from their new packages, fall back to `php-http/plugins` if necessary
1416

1517

1618
### Fixed

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/HttplugExtension.php

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,11 @@
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\Plugin\CachePlugin;
7+
use Http\Client\Common\Plugin\LoggerPlugin;
8+
use Http\Client\Common\Plugin\StopwatchPlugin;
9+
use Http\Client\Common\PluginClient;
710
use Http\HttplugBundle\ClientFactory\DummyClient;
811
use Http\Message\Authentication\BasicAuth;
912
use Http\Message\Authentication\Bearer;
@@ -119,6 +122,7 @@ private function configurePlugins(ContainerBuilder $container, array $config)
119122

120123
foreach ($config as $name => $pluginConfig) {
121124
$pluginId = 'httplug.plugin.'.$name;
125+
122126
if ($pluginConfig['enabled']) {
123127
$def = $container->getDefinition($pluginId);
124128
$this->configurePluginByName($name, $def, $pluginConfig);
@@ -137,6 +141,10 @@ private function configurePluginByName($name, Definition $definition, array $con
137141
{
138142
switch ($name) {
139143
case 'cache':
144+
// To preserve BC, we check the existence of the new plugin class and use it if available
145+
if (class_exists(CachePlugin::class)) {
146+
$definition->setClass(CachePlugin::class);
147+
}
140148
$definition
141149
->replaceArgument(0, new Reference($config['cache_pool']))
142150
->replaceArgument(1, new Reference($config['stream_factory']))
@@ -152,6 +160,10 @@ private function configurePluginByName($name, Definition $definition, array $con
152160
$definition->replaceArgument(0, new Reference($config['journal']));
153161
break;
154162
case 'logger':
163+
// To preserve BC, we check the existence of the new plugin class and use it if available
164+
if (class_exists(LoggerPlugin::class)) {
165+
$definition->setClass(LoggerPlugin::class);
166+
}
155167
$definition->replaceArgument(0, new Reference($config['logger']));
156168
if (!empty($config['formatter'])) {
157169
$definition->replaceArgument(1, new Reference($config['formatter']));
@@ -166,6 +178,10 @@ private function configurePluginByName($name, Definition $definition, array $con
166178
$definition->addArgument($config['retry']);
167179
break;
168180
case 'stopwatch':
181+
// To preserve BC, we check the existence of the new plugin class and use it if available
182+
if (class_exists(StopwatchPlugin::class)) {
183+
$definition->setClass(StopwatchPlugin::class);
184+
}
169185
$definition->replaceArgument(0, new Reference($config['stopwatch']));
170186
break;
171187
}

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: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,21 +9,21 @@
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>
2121
<service id="httplug.plugin.logger" class="Http\Client\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" />
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" />
2727
<service id="httplug.plugin.stopwatch" class="Http\Client\Plugin\StopwatchPlugin" public="false">
2828
<argument />
2929
</service>

composer.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@
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",
23+
"php-http/plugins": "^1.1",
2324
"symfony/options-resolver": "^2.7|^3.0",
2425
"symfony/framework-bundle": "^2.7|^3.0"
2526
},

0 commit comments

Comments
 (0)