Switch from Http\Client\HttpClient to Psr\Http\Client\ClientInterface
zerkms opened this issue · 4 comments
Description
Starting httplug v2.4.0 the Http\Client\HttpClient interface is deprecated in favour of Psr\Http\Client\ClientInterface
Changelog: https://github.com/php-http/httplug/blob/625ad742c360c8ac580fcc647a1541d29e257f67/CHANGELOG.md
Example
Additional context
we want to keep using the adapters to still provide the HttpAsyncClient. the Httplug HttpClient extends the PSR ClientInterface, people should depend on that rather than the deprecated HttpClient interface.
if you find places where we can update the documentation or code to talk about the PSR ClientInterface, glad if you can point them out or even do a pull request to cleanup things.
In that case - is it possible then to create a default alias for the Psr\Http\Client\ClientInterface
$ ./bin/console debug:container|grep httplug.client
Http\Client\HttpClient alias for "httplug.client.default"
Http\Client\HttpClient $default alias for "httplug.client.default"
Psr\Http\Client\ClientInterface $default alias for "httplug.client.default"
httplug.client alias for "httplug.client.default"
httplug.client.default alias for "httplug.client.default"
httplug.client.default Http\Client\Common\PluginClient
httplug.client.default.client Http\Client\HttpClient
httplug.client.default.plugin.base_uri Http\Client\Common\Plugin\BaseUriPlugin
httplug.client.default.plugin.base_uri.base_uri Psr\Http\Message\UriInterface
That's what we have now: it's possible to type hint Http\Client\HttpClient but Psr\Http\Client\ClientInterface is not hinteable unless the name is changed to $default everywhere in the codebase.
oh indeed, we should do that. it would be another line right after https://github.com/php-http/HttplugBundle/blob/1.x/src/Resources/config/services.xml#L50 (and we could mark the alias for HttpClient as deprecated.)
do you want to create a pull request for that?
I totally will do tomorrow then :-)