You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Effectue une requête HEAD pour récupérer uniquement les en-têtes HTTP sans le corps de la réponse. Utile pour vérifier l'existence d'une ressource ou obtenir des métadonnées.
180
+
181
+
**Paramètres :**
182
+
-`$url` : Le chemin relatif ou l'URL complète
183
+
-`$data` : Tableau de paramètres ajoutés à l'URL sous forme de query string
184
+
185
+
**Retourne :** Une instance de `Response`
186
+
187
+
**Exemple :**
188
+
189
+
```php
190
+
use Bow\Http\Client\HttpClient;
191
+
192
+
$client = new HttpClient('https://api.example.com');
193
+
$response = $client->head('/large-file.zip');
194
+
195
+
if ($response->isSuccessful()) {
196
+
$headers = $response->getHeaders();
197
+
echo "Taille du fichier : " . ($headers['download_content_length'] ?? 'inconnue');
147
198
}
148
199
```
149
200
201
+
### `options`
202
+
203
+
Effectue une requête OPTIONS pour découvrir les méthodes HTTP autorisées sur une ressource. Souvent utilisé pour les requêtes CORS préliminaires.
204
+
205
+
**Paramètres :**
206
+
-`$url` : Le chemin relatif ou l'URL complète
207
+
208
+
**Retourne :** Une instance de `Response`
209
+
210
+
**Exemple :**
211
+
212
+
```php
213
+
use Bow\Http\Client\HttpClient;
214
+
215
+
$client = new HttpClient('https://api.example.com');
216
+
$response = $client->options('/users');
217
+
218
+
// Les méthodes autorisées sont généralement dans l'en-tête Allow
219
+
$headers = $response->getHeaders();
220
+
```
221
+
150
222
## Configuration avancée
151
223
152
224
### `addAttach`
@@ -167,12 +239,12 @@ $client = new HttpClient('https://api.example.com');
**Retourne :** L'instance du client pour un chaînage fluide
374
+
375
+
**Exemple :**
376
+
377
+
```php
378
+
use Bow\Http\Client\HttpClient;
379
+
380
+
$client = new HttpClient('https://api.example.com');
381
+
$response = $client
382
+
->auth('username', 'password')
383
+
->get('/protected');
384
+
```
385
+
386
+
## Timeouts et SSL
387
+
388
+
### `timeout`
389
+
390
+
Définit le temps maximum autorisé pour l'exécution de la requête complète.
391
+
392
+
**Paramètres :**
393
+
-`$seconds` : Durée en secondes
394
+
395
+
**Retourne :** L'instance du client pour un chaînage fluide
396
+
397
+
**Exemple :**
398
+
399
+
```php
400
+
use Bow\Http\Client\HttpClient;
401
+
402
+
$client = new HttpClient('https://api.example.com');
403
+
$response = $client
404
+
->timeout(30) // 30 secondes maximum
405
+
->get('/slow-endpoint');
406
+
```
407
+
408
+
### `connectTimeout`
409
+
410
+
Définit le temps maximum pour établir la connexion au serveur.
411
+
412
+
**Paramètres :**
413
+
-`$seconds` : Durée en secondes
414
+
415
+
**Retourne :** L'instance du client pour un chaînage fluide
416
+
417
+
**Exemple :**
418
+
419
+
```php
420
+
use Bow\Http\Client\HttpClient;
421
+
422
+
$client = new HttpClient('https://api.example.com');
423
+
$response = $client
424
+
->connectTimeout(5) // 5 secondes pour établir la connexion
425
+
->timeout(30)
426
+
->get('/endpoint');
427
+
```
428
+
429
+
### `disableSslVerification`
430
+
431
+
Désactive la vérification des certificats SSL. **Attention : à utiliser uniquement en environnement de développement.**
432
+
433
+
**Retourne :** L'instance du client pour un chaînage fluide
434
+
435
+
**Exemple :**
436
+
437
+
```php
438
+
use Bow\Http\Client\HttpClient;
439
+
440
+
$client = new HttpClient('https://localhost:8443');
441
+
$response = $client
442
+
->disableSslVerification()
443
+
->get('/api/test');
444
+
```
445
+
446
+
:::warning
447
+
Ne jamais désactiver la vérification SSL en production. Cela expose votre application à des attaques man-in-the-middle.
448
+
:::
449
+
250
450
## La classe `Response`
251
451
252
452
La classe `Response` encapsule toutes les informations retournées par une requête HTTP : contenu, en-têtes, code de statut et métriques de performance. Elle offre une interface simple et intuitive pour manipuler les réponses.
@@ -304,7 +504,7 @@ Alias de `toJson(true)`. Retourne le contenu JSON sous forme de tableau associat
304
504
```php
305
505
$users = $response->toArray();
306
506
foreach ($users as $user) {
307
-
echo $user['name'];
507
+
echo $user['name'];
308
508
}
309
509
```
310
510
@@ -333,7 +533,7 @@ $code = $response->getCode();
333
533
$code = $response->statusCode();
334
534
335
535
if ($code === 200) {
336
-
echo "Requête réussie";
536
+
echo "Requête réussie";
337
537
}
338
538
```
339
539
@@ -349,8 +549,8 @@ Retourne `true` si le code de statut indique un succès (200 ou 201).
349
549
350
550
```php
351
551
if ($response->isSuccessful()) {
352
-
$data = $response->toArray();
353
-
// Traiter les données
552
+
$data = $response->toArray();
553
+
// Traiter les données
354
554
}
355
555
```
356
556
@@ -366,7 +566,7 @@ Retourne `true` si la requête a échoué (code différent de 200 ou 201).
0 commit comments