Retour à la leçonMission
Mission : un serveur protégé par recover() qui plante quand même
Comprendre pourquoi un recover() de middleware ne protège pas une goroutine annexe, et raisonner sur l'ordre d'exécution de plusieurs recover().
Contexte
Le serveur enveloppe chaque handler avec recupererPanique, qui contient un defer/recover() censé isoler toute panique. Le handler POST /commandes lance en plus une goroutine annexe (go envoyerConfirmation(commande)) pour ne pas ralentir la réponse HTTP. La semaine dernière, une commande mal formée a fait planter tout le processus serveur, alors que le middleware recupererPanique semblait pourtant bien en place.