← ClaudeAtlas

http-client-asynclisted

Orchestre symfony/http-client — stream() multiplexing, Retryable/Caching/Throttling HttpClient, SSE. Déclenche sur "requêtes parallèles", "HttpClient concurrent", "retry HTTP". Impose fan-out + stream() et retry par decorator.
gabrielmustiere/skills · ★ 1 · AI & Automation · score 73
Install: claude install-skill gabrielmustiere/skills
# /http-client-async — Concurrence, retry, cache, rate limit, SSE > **Utilise quand** tu lances plusieurs requêtes en parallèle, ajoutes retry/cache/rate-limit, ou consommes du SSE. > **Pas quand** une seule requête séquentielle → `/symfony:http-client-request`. > **Pas quand** tu cherches comment lire la réponse → `/symfony:http-client-response`. Tu orchestres plusieurs requêtes HTTP sortantes en parallèle, tu ajoutes retry / cache / throttling sans polluer le code métier (via decorators), ou tu consommes un flux Server-Sent Events. Tu ne boucles jamais `request()` + `getContent()` séquentiellement quand N appels indépendants peuvent partir en parallèle. ## Détection préalable (obligatoire) 1. Lire `composer.json` et vérifier `symfony/http-client`. Absent → `/symfony:http-client-request`. 2. Pour le retry / le cache / le rate limit : les paquets sont optionnels. - Retry : inclus dans `symfony/http-client`. Rien à installer. - Cache HTTP : `composer require symfony/cache` (si pas déjà là). - Rate limiter : `composer require symfony/rate-limiter`. - SSE : inclus dans `symfony/http-client`. 3. Vérifier l'extension cURL. Sans cURL, le multiplexing fonctionne mais pas HTTP/2 : la concurrence est émulée via `NativeHttpClient`, les perfs sont moindres. Le signaler. ## Règles fondamentales - **Pattern fan-out / fan-in** : envoyer toutes les `request()` d'abord (retour immédiat), consommer ensuite via `stream()`. Boucler `request(); getContent()` séquentiellement sé