PSR-Standards · Frage 9 von 12
Ein Service ruft mit der TYPO3-RequestFactory eine externe API auf: $this->requestFactory->request($url, 'GET', ['timeout' => 5]). Welche Aussagen treffen zu?
2 Antworten sind richtig. Mittel
Lösung anzeigen
Lösung
- B Antwortet die API mit 404 oder 500, wirft Guzzle standardmäßig eine Exception, die man abfangen muss
- D Das Ergebnis ist eine PSR-7-Response, den Inhalt liest man z. B. mit (string)$response->getBody()
Erklärung
request() reicht die Anfrage an einen Guzzle-Client weiter, der mit den Einstellungen aus $GLOBALS['TYPO3_CONF_VARS']['HTTP'] vorkonfiguriert ist, etwa Proxy und Header. Optionen im dritten Parameter ergänzen oder überschreiben sie für diesen Aufruf. Global ist timeout 0, also unbegrenzt, deshalb lohnt ein eigenes Limit. Da http_errors aktiv bleibt, führen Statuscodes ab 400 zu einer RequestException.