Comment récupérer le statut HTTP d'une requête HTTP avec cURL
Publié le 9 Mars 2017
Pour vérifier que mes micro services sont accessible j'ai implémenté un endpoint qui répond simplement avec un statut 200 (OK) si le service est accessible.
L'idée est de pouvoir tester si le service est accessible en utilisant un script shell.
Cela peut se faire en utilisant cURL avec la commande suivante:
curl -s -o /dev/null -I -w "%{http_code}" http://mon.micro.service.local/api/health
Remplacer l'URL par celle de votre service. Le résultat de cette commande est uniquement l'affichage du statut HTTP de la réponse.
On peut ensuite intégrer cette commande dans un script, pour, par exemple, attendre que le service soit accessible avant de lancer un test ou autre.
while [ $(curl -s -o /dev/null -I -w "%{http_code}" http://mon.micro.service.local/api/health) -ne 200 ]
do
echo "Waiting for micro-service"
sleep 5
done
echo "Service started"
Tant que la commande cURL ne retourne pas 200 (OK) on attend 5 secondes et on réessaye. Quand on sort de la boucle while, le service est accessible.