PSR 17-18 compliance

Author: ChargemapHakanCreated Jan 25, 2020Updated Jul 28, 2026
Labelstype: feature request

Is your feature request related to a problem? Please describe. It may cause transitivity issues when the project using / requiring this library also needs another version of Guzzle Http Client.

Describe the solution you'd like It would be awesome to use PSR 17 HttpClientInterface instead of the concrete Guzzle Client class. Also, using RequestInterfaces, StreamInterfaces and their respective factories for payload would make sense IMHO.

Injecting the Client and Request factories (DIP) would be awesome but using discovery mechanism can also be something we can imagine.

More context For instance, this library : https://packagist.org/packages/aporat/store-receipt-validator depends on Guzzle as well and we may have transitivity issues.

Source: googleapis/google-api-php-client