Skip to content

Commit 7622dfa

Browse files
committed
fix: lazy-load CURL_HTTP_VERSION_3 constant only for HTTP/3.0
1 parent 6c25e41 commit 7622dfa

1 file changed

Lines changed: 16 additions & 16 deletions

File tree

system/HTTP/CURLRequest.php

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -783,26 +783,26 @@ private function applyResponseOptions(array $curlOptions, array $config): array
783783
*/
784784
private function applyProtocolOptions(array $curlOptions, array $config): array
785785
{
786-
// version
787-
$version = $config['version'] ?? null;
786+
if (empty($config['version'])) {
787+
return $curlOptions;
788+
}
788789

789-
if ((bool) $version) {
790-
$version = sprintf('%.1F', $version);
790+
$version = sprintf('%.1F', (float) $config['version']);
791791

792-
if (! defined('CURL_HTTP_VERSION_3')) {
793-
define('CURL_HTTP_VERSION_3', 30);
794-
}
792+
if ($version === '3.0' && ! defined('CURL_HTTP_VERSION_3')) {
793+
define('CURL_HTTP_VERSION_3', 30);
794+
}
795795

796-
$versions = [
797-
'1.0' => CURL_HTTP_VERSION_1_0,
798-
'1.1' => CURL_HTTP_VERSION_1_1,
799-
'2.0' => CURL_HTTP_VERSION_2_0,
800-
'3.0' => CURL_HTTP_VERSION_3,
801-
];
796+
$curlVersion = match ($version) {
797+
'1.0' => CURL_HTTP_VERSION_1_0,
798+
'1.1' => CURL_HTTP_VERSION_1_1,
799+
'2.0' => CURL_HTTP_VERSION_2_0,
800+
'3.0' => CURL_HTTP_VERSION_3,
801+
default => null,
802+
};
802803

803-
if (isset($versions[$version])) {
804-
$curlOptions[CURLOPT_HTTP_VERSION] = $versions[$version];
805-
}
804+
if ($curlVersion !== null) {
805+
$curlOptions[CURLOPT_HTTP_VERSION] = $curlVersion;
806806
}
807807

808808
return $curlOptions;

0 commit comments

Comments
 (0)