← ClaudeAtlas

http-client-requestlisted

Construit une requête HTTP (symfony/http-client) — HttpClientInterface, scoped_clients, options (json, auth_bearer, timeout). Déclenche sur "appeler API", "HttpClient", "scoped client". Impose un scoped client par API.
gabrielmustiere/skills · ★ 1 · AI & Automation · score 73
Install: claude install-skill gabrielmustiere/skills
# /http-client-request — Construire une requête HTTP sortante Tu construis une requête HTTP sortante (REST, webhook, téléchargement) avec `symfony/http-client`. Tu passes par l'autowiring, tu pousses la config URL/auth/headers communs dans `framework.yaml`, et tu ne laisses dans le code PHP que ce qui dépend de l'appel précis. ## Détection préalable (obligatoire) 1. Lire `composer.json` à la racine du projet. 2. Vérifier `symfony/framework-bundle` et `symfony/http-client`. - `symfony/http-client` absent → `composer require symfony/http-client` avant toute chose. Sans ce paquet il n'y a pas d'autowiring ni de configuration `framework.http_client`. - `symfony/framework-bundle` absent → stack non-Symfony : demander *« Ce skill cible Symfony, je ne trouve pas `symfony/framework-bundle`. On continue en mode standalone (HttpClient::create) ou on change d'approche ? »* avant d'agir. 3. Vérifier l'extension cURL (`php -m | grep curl`). Absente → le client tombera sur `NativeHttpClient` ; le mentionner (pas de HTTP/2 multiplexé). ## Règles fondamentales - **Autowiring, toujours** : injecter `HttpClientInterface` dans le constructeur du service. Ne jamais appeler `HttpClient::create()` dans un service — c'est réservé aux scripts standalone et aux tests qui n'ont pas de container. - **Un scoped client par API externe** dans `framework.yaml` : chaque API (GitHub, Stripe, fournisseur interne) a son entrée sous `http_client.scoped_clients`. `base_uri`, `headers` partagés, `auth_