Skip to content

swisnl/laravel-psr-http-client-bridge

Repository files navigation

Laravel PSR-18 HTTP Client Bridge

Latest Version on Packagist Software License Buy us a tree Build Status Total Downloads Made by SWIS

Provides a bridge to use the Laravel HTTP Client as PSR-18 (or Guzzle) HTTP Client, for usage with libraries that require such a Client. This allows you to:

  • 🤖 Use request fakes and assertions in your tests
  • 🔍 Debug requests in tools like Telescope or Pulse
  • 🐛 See requests in error trackers such as Flare or Sentry
  • 🚀 Etc.

Install

Via Composer

composer require swisnl/laravel-psr-http-client-bridge

Usage

Simply instantiate the Swis\Laravel\Bridge\PsrHttpClient\Client and use it as you would use any other PSR-18 or Guzzle HTTP client.

$httpClient = new Swis\Laravel\Bridge\PsrHttpClient\Client();
$client = new My\Awesome\Api\Client($httpClient);

If you want to configure some request options, you can provide a callable that returns a PendingRequest.

$httpClient = new Swis\Laravel\Bridge\PsrHttpClient\Client(
    fn () => Http::withOptions(['proxy' => 'http://localhost:8125'])
);

Change log

Please see CHANGELOG for more information on what has changed recently.

Testing

composer test

Contributing

Please see CONTRIBUTING and CODE_OF_CONDUCT for details.

Security

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.

This package is Treeware. If you use it in production, then we ask that you buy the world a tree to thank us for our work. By contributing to the Treeware forest you’ll be creating employment for local families and restoring wildlife habitats.

SWIS ❤️ Open Source

SWIS is a web agency from Leiden, the Netherlands. We love working with open source software.