true, CURLOPT_CONNECTTIMEOUT => 3, CURLOPT_TIMEOUT => 8, CURLOPT_FOLLOWLOCATION => false, CURLOPT_SSL_VERIFYPEER => true, CURLOPT_SSL_VERIFYHOST => 2, CURLOPT_PROTOCOLS => CURLPROTO_HTTPS]); $body = curl_exec($curl); $status = curl_getinfo($curl, CURLINFO_HTTP_CODE); curl_close($curl); if ($body !== false && $status === 200) { try { $data = json_decode($body, true, 512, JSON_THROW_ON_ERROR); if (is_array($data)) return $data; } catch (JsonException $e) { /* Try the second server. */ } } } throw new RuntimeException('Both PNAC resource servers are unavailable'); }