laravel:http-client-resilience

安装量: 37
排名: #19103

安装

npx skills add https://github.com/jpcaparas/superpowers-laravel --skill laravel:http-client-resilience

Design outbound calls to be predictable and observable.

Commands

use Illuminate\Support\Facades\Http;

$res = Http::baseUrl(config('services.foo.url'))
    ->timeout(5)
    ->retry(3, 200, throw: false)
    ->withHeaders(['Accept' => 'application/json'])
    ->get('/v1/things', ['q' => 'bar']);

if (!$res->successful()) {
    Log::warning('foo api failure', [
        'status' => $res->status(),
        'body' => substr($res->body(), 0, 500),
    ]);
}

Patterns

  • Set timeouts explicitly (client and server defaults differ)

  • Use limited retries with backoff for transient failures only

  • Prefer dependency injection for testability

  • Add request/response context to logs (redact sensitive data)

  • Use pool() for concurrency when calling multiple endpoints

返回排行榜