# Laravel:http Client Resilience

> Use the HTTP client with sensible timeouts, retries, and backoff; capture context and handle failures explicitly

- Skill: `jpcaparas/laravel-http-client-resilience` (Agent Skill)
- Install (CLI): `npx skillmds@latest add jpcaparas/laravel-http-client-resilience`
- Raw SKILL.md: https://api.skillmd.com/api/skills/jpcaparas/laravel-http-client-resilience/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: jpcaparas (https://skillmd.com/u/jpcaparas)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/jpcaparas/laravel-http-client-resilience

---


# 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


