PSR मानक · प्रश्न 9 / 12
एक service TYPO3 RequestFactory के साथ एक external API को call करती है: $this->requestFactory->request($url, 'GET', ['timeout' => 5])। कौन-से कथन सही हैं?
2 उत्तर सही हैं। मध्यम
उत्तर दिखाएँ
उत्तर
- B यदि API 404 या 500 के साथ जवाब देती है, तो Guzzle डिफ़ॉल्ट रूप से एक exception फेंकता है जिसे catch करना होता है
- D परिणाम एक PSR-7 response है, और content को उदाहरण के लिए (string)$response->getBody() से पढ़ा जाता है
व्याख्या
request() request को एक Guzzle client को सौंपता है जो $GLOBALS['TYPO3_CONF_VARS']['HTTP'] की settings, जैसे proxy और headers, के साथ पहले से कॉन्फ़िगर होता है। तीसरे parameter के options इस call के लिए उन्हें जोड़ते या override करते हैं। Global रूप से timeout 0 है, यानी असीमित, इसलिए अपनी सीमा तय करना उपयोगी है। चूँकि http_errors सक्रिय रहता है, 400 से ऊपर के status codes एक RequestException का कारण बनते हैं।