Lightweight wrapper over Guzzle to comply with PSR18

4.0.4 2021-01-01 00:13 UTC


Guzzle Adapter for PSR-18

Wrapper over Guzzle to comply with PSR-18

Current build status

CI codecov Infection MSI Downloads


The easiest way is to use composer:

composer require alextartan/guzzle-psr18-adapter

Note: requires PHP >= 7.2




use Psr\Http\Client\ClientInterface;
use Psr\Http\Client\ClientExceptionInterface;
use Psr\Http\Client\NetworkExceptionInterface;
use Psr\Http\Client\RequestExceptionInterface;
use GuzzleHttp\Psr7\Request;


public function sendSomething(ClientInterface $client, $data)
    // Using GuzzleHttp\Psr7\Request in this example, but any implementation of PSR-7 will do
    $request = new Request('GET', '');
        // response is also an implementation of PSR-7 (Psr\Http\Message\ResponseInterface)
        $response = $client->sendRequest($request)
    } catch(ClientException $e){
        // do something
    } catch(NetworkException $e){
        // do something
    } catch(RequestException $e){
        // do something


Issues and pull requests.

Any issues found should be reported in this repository issue tracker, issues will be fixed when possible. Pull requests will be accepted, but please adhere to the PSR2 coding standard. All builds must pass in order to merge the PR.