laravel:http-client-resilience

Installation
SKILL.md

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
Related skills
Installs
55
GitHub Stars
131
First Seen
Jan 21, 2026