gehrisandro / laravel-http-psr18
Laravel HTTP 客户端的 PSR-18 包装器
v0.0.1
2024-01-25 14:57 UTC
Requires
- php: ^8.1.0
- illuminate/http: ^10.0.0
- psr/http-client: ^1.0
Requires (Dev)
- guzzlehttp/guzzle: ^7.8
- laravel/pint: ^1.13.6
- orchestra/testbench: ^v8.0.8
- pestphp/pest: ^2.8.2
- pestphp/pest-plugin-type-coverage: ^2.8
- php-http/discovery: ^1.19
- phpstan/phpstan: ^1.10.25
- rector/rector: ^0.19
README
Laravel 的 PSR-18 兼容 HTTP 客户端
本包提供与 PSR-18 兼容的 Laravel HTTP 客户端的包装器。
如果你需要在需要 PSR-18 兼容 HTTP 客户端的包中使用 Laravel HTTP 客户端,这将非常有用。
如果你觉得这个包很有帮助,请考虑赞助维护者
- Sandro Gehri: github.com/sponsors/gehrisandro
目录
入门
需要 Laravel 10(或至少是
illuminate/http
包)
首先,使用 Composer 包管理器安装该包
composer require gehrisandro/laravel-http-psr18
然后,使用 HttpPsr18::make()
方法创建 PSR-18 兼容 HTTP 客户端的新实例。
用法
如果没有传递任何参数调用 make()
方法,将使用默认的 Laravel HTTP 客户端
use HttpPsr18\HttpPsr18; $client = HttpPsr18::make(); // example usage with OpenAI for Laravel (https://github.com/openai-php/laravel) $openAI = \OpenAI::factory() ->withApiKey('*******') ->withHttpClient($client) ->make(); $response = $openAI->chat()->create([/* ... */]);
你可以提供自定义的 Laravel HTTP 客户端实例作为第一个参数
use HttpPsr18\HttpPsr18; use Illuminate\Support\Facades\Http; $client = HttpPsr18::make(Http::timeout(300));
使用此包,你将获得一个 PSR-18 兼容的 HTTP 客户端,并可以利用所有 Laravel HTTP 客户端功能。🥳
use GuzzleHttp\Psr7\Request; use HttpPsr18\HttpPsr18; use Illuminate\Support\Facades\Http; Http::fake([ '*' => Http::response('Hello World'), ]); $client = HttpPsr18::make(); $response = $client->sendRequest(new Request('GET', 'https://example.com')); $response->getBody()->getContents(); // Hello World
贡献
感谢考虑为 LaravelHttpPsr18
做贡献!贡献指南可在 CONTRIBUTING.md 文件中找到。
LaravelHttpPsr18 是一个开源软件,许可协议为 MIT 许可。