Normes PSR · Question 9 sur 12
Un service appelle une API externe avec la RequestFactory de TYPO3 : $this->requestFactory->request($url, 'GET', ['timeout' => 5]). Quelles affirmations sont vraies ?
2 réponses sont correctes. Moyen
Afficher la solution
Solution
- B Si l'API répond par 404 ou 500, Guzzle lève par défaut une exception qu'il faut intercepter
- D Le résultat est une réponse PSR-7, et le contenu se lit p. ex. avec (string)$response->getBody()
Explication
request() transmet la requête à un client Guzzle préconfiguré avec les réglages de $GLOBALS['TYPO3_CONF_VARS']['HTTP'], comme le proxy et les en-têtes. Les options du troisième paramètre les complètent ou les remplacent pour cet appel. Globalement, timeout vaut 0, c.-à-d. illimité, une limite propre vaut donc la peine. Comme http_errors reste activé, les codes de statut à partir de 400 provoquent une RequestException.