diff --git a/src/Curl/CurlOptions.php b/src/Curl/CurlOptions.php index d24911e..54c6817 100644 --- a/src/Curl/CurlOptions.php +++ b/src/Curl/CurlOptions.php @@ -4,6 +4,9 @@ class CurlOptions { + const DEFAULT_TIMEOUT = 5; + const DEFAULT_CONNECT_TIMEOUT = 3; + /** @var array */ protected $headers = []; @@ -11,10 +14,10 @@ class CurlOptions private $verifyHost = 0; /** @var int */ - private $timeout = 30; + private $timeout = self::DEFAULT_TIMEOUT; /** @var int */ - private $connectTimeout = 15; + private $connectTimeout = self::DEFAULT_CONNECT_TIMEOUT; /** @var bool */ private $verifyPeer = false; diff --git a/tests/Curl/CurlOptionsTest.php b/tests/Curl/CurlOptionsTest.php new file mode 100644 index 0000000..4cd1ca1 --- /dev/null +++ b/tests/Curl/CurlOptionsTest.php @@ -0,0 +1,31 @@ +getOptionsArray(); + + self::assertSame(CurlOptions::DEFAULT_CONNECT_TIMEOUT, $options[CURLOPT_CONNECTTIMEOUT]); + self::assertSame(CurlOptions::DEFAULT_TIMEOUT, $options[CURLOPT_TIMEOUT]); + } + + public function testTimeoutsCanBeOverridden() + { + $options = (new CurlOptions()) + ->setConnectTimeout(15) + ->setTimeout(30) + ->getOptionsArray(); + + self::assertSame(15, $options[CURLOPT_CONNECTTIMEOUT]); + self::assertSame(30, $options[CURLOPT_TIMEOUT]); + } +}