gehrisandro/laravel-http-psr18

Laravel HTTP 客户端的 PSR-18 包装器

v0.0.1 2024-01-25 14:57 UTC

This package is auto-updated.

Last update: 2024-08-25 16:28:53 UTC


README

GitHub Workflow Status (main) Total Downloads Latest Version License

Laravel 的 PSR-18 兼容 HTTP 客户端

本包提供与 PSR-18 兼容的 Laravel HTTP 客户端的包装器。

如果你需要在需要 PSR-18 兼容 HTTP 客户端的包中使用 Laravel HTTP 客户端,这将非常有用。

如果你觉得这个包很有帮助,请考虑赞助维护者

目录

入门

需要 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 许可