From 0ddb96d356aeec19f75e9e1402f41e3788c83923 Mon Sep 17 00:00:00 2001 From: Denny Septian Panggabean Date: Tue, 13 May 2025 21:50:14 +0700 Subject: [PATCH 01/13] feat: added dns_cache_timeout for option CURLRequest --- system/HTTP/CURLRequest.php | 5 +++++ tests/system/HTTP/CURLRequestTest.php | 24 ++++++++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/system/HTTP/CURLRequest.php b/system/HTTP/CURLRequest.php index 8a21d77262a0..e7194c9311e0 100644 --- a/system/HTTP/CURLRequest.php +++ b/system/HTTP/CURLRequest.php @@ -616,6 +616,11 @@ protected function setCURLOptions(array $curlOptions = [], array $config = []) } } + // DNS Cache Timeout + if (! empty($config['dns_cache_timeout'])) { + $curlOptions[CURLOPT_DNS_CACHE_TIMEOUT] = (int) $config['dns_cache_timeout']; + } + // Timeout $curlOptions[CURLOPT_TIMEOUT_MS] = (float) $config['timeout'] * 1000; diff --git a/tests/system/HTTP/CURLRequestTest.php b/tests/system/HTTP/CURLRequestTest.php index e72a1d37d17c..b551910b1c02 100644 --- a/tests/system/HTTP/CURLRequestTest.php +++ b/tests/system/HTTP/CURLRequestTest.php @@ -1212,6 +1212,30 @@ public function testForceResolveIPUnknown(): void $this->assertSame(\CURL_IPRESOLVE_WHATEVER, $options[CURLOPT_IPRESOLVE]); } + public function testDNSCacheTimeoutEmptyOption(): void + { + $this->request->request('POST', '/post', [ + 'dns_cache_timeout' => 0, + ]); + + $options = $this->request->curl_options; + + $this->assertArrayNotHasKey(CURLOPT_DNS_CACHE_TIMEOUT, $options); + } + + public function testDNSCacheTimeoutSetOption(): void + { + $timeout = 160; + $this->request->request('POST', '/post', [ + 'dns_cache_timeout' => $timeout, + ]); + + $options = $this->request->curl_options; + + $this->assertArrayHasKey(CURLOPT_DNS_CACHE_TIMEOUT, $options); + $this->assertSame($timeout, $options[CURLOPT_DNS_CACHE_TIMEOUT]); + } + public function testCookieOption(): void { $holder = SUPPORTPATH . 'HTTP/Files/CookiesHolder.txt'; From 668f1126c67a2433e2799059e20fbca5bea313d6 Mon Sep 17 00:00:00 2001 From: Denny Septian Panggabean Date: Tue, 13 May 2025 22:06:06 +0700 Subject: [PATCH 02/13] tests: added option when set to not numeric --- system/HTTP/CURLRequest.php | 2 +- tests/system/HTTP/CURLRequestTest.php | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/system/HTTP/CURLRequest.php b/system/HTTP/CURLRequest.php index e7194c9311e0..7121c84b303d 100644 --- a/system/HTTP/CURLRequest.php +++ b/system/HTTP/CURLRequest.php @@ -617,7 +617,7 @@ protected function setCURLOptions(array $curlOptions = [], array $config = []) } // DNS Cache Timeout - if (! empty($config['dns_cache_timeout'])) { + if (! empty($config['dns_cache_timeout']) && is_numeric($config['dns_cache_timeout'])) { $curlOptions[CURLOPT_DNS_CACHE_TIMEOUT] = (int) $config['dns_cache_timeout']; } diff --git a/tests/system/HTTP/CURLRequestTest.php b/tests/system/HTTP/CURLRequestTest.php index b551910b1c02..bc920aeb167f 100644 --- a/tests/system/HTTP/CURLRequestTest.php +++ b/tests/system/HTTP/CURLRequestTest.php @@ -1236,6 +1236,18 @@ public function testDNSCacheTimeoutSetOption(): void $this->assertSame($timeout, $options[CURLOPT_DNS_CACHE_TIMEOUT]); } + public function testDNSCacheTimeoutWrongSetOption(): void + { + $timeout = 'is_wrong'; + $this->request->request('POST', '/post', [ + 'dns_cache_timeout' => $timeout, + ]); + + $options = $this->request->curl_options; + + $this->assertArrayNotHasKey(CURLOPT_DNS_CACHE_TIMEOUT, $options); + } + public function testCookieOption(): void { $holder = SUPPORTPATH . 'HTTP/Files/CookiesHolder.txt'; From 10f44c405c03f2c5c74cdfe38b6874932ac4e0b7 Mon Sep 17 00:00:00 2001 From: Denny Septian Panggabean Date: Tue, 13 May 2025 22:13:58 +0700 Subject: [PATCH 03/13] docs: added dns_cache_timeout options to CURLRequest --- user_guide_src/source/changelogs/v4.7.0.rst | 11 ++++------- user_guide_src/source/libraries/curlrequest.rst | 10 ++++++++++ user_guide_src/source/libraries/curlrequest/037.php | 4 ++++ 3 files changed, 18 insertions(+), 7 deletions(-) create mode 100644 user_guide_src/source/libraries/curlrequest/037.php diff --git a/user_guide_src/source/changelogs/v4.7.0.rst b/user_guide_src/source/changelogs/v4.7.0.rst index 2f48a1007161..a91cb468f542 100644 --- a/user_guide_src/source/changelogs/v4.7.0.rst +++ b/user_guide_src/source/changelogs/v4.7.0.rst @@ -38,6 +38,10 @@ Enhancements Libraries ========= +- **CURLRequest:** Added ``dns_cache_timeout`` option to change default DNS cache timeout. +- **Email:** Added support for choosing the SMTP authorization method. You can change it via ``Config\Email::$SMTPAuthMethod`` option. +- **Image:** The ``ImageMagickHandler`` has been rewritten to rely solely on the PHP ``imagick`` extension. +- **Image:** Added ``ImageMagickHandler::clearMetadata()`` method to remove image metadata for privacy protection. - **Time:** added methods ``Time::addCalendarMonths()`` and ``Time::subCalendarMonths()`` Commands @@ -61,13 +65,6 @@ Others Model ===== -Libraries -========= - -**Email:** Added support for choosing the SMTP authorization method. You can change it via ``Config\Email::$SMTPAuthMethod`` option. -**Image:** The ``ImageMagickHandler`` has been rewritten to rely solely on the PHP ``imagick`` extension. -**Image:** Added ``ImageMagickHandler::clearMetadata()`` method to remove image metadata for privacy protection. - Helpers and Functions ===================== diff --git a/user_guide_src/source/libraries/curlrequest.rst b/user_guide_src/source/libraries/curlrequest.rst index 49540613e1cc..a1ab33663757 100644 --- a/user_guide_src/source/libraries/curlrequest.rst +++ b/user_guide_src/source/libraries/curlrequest.rst @@ -251,6 +251,16 @@ Allows you to pause a number of milliseconds before sending the request: .. literalinclude:: curlrequest/023.php +dns_cache_timeout +================= + +.. versionadded:: 4.7.0 + +By default, CodeIgniter does not change the PHP DNS Cache Timeout value. If you need to +modify this value, you can do so by passing an amount of time in seconds with the ``dns_cache_timeout`` option. + +.. literalinclude:: curlrequest/037.php + form_params =========== diff --git a/user_guide_src/source/libraries/curlrequest/037.php b/user_guide_src/source/libraries/curlrequest/037.php new file mode 100644 index 000000000000..7d71d90bec70 --- /dev/null +++ b/user_guide_src/source/libraries/curlrequest/037.php @@ -0,0 +1,4 @@ +request('GET', '/', ['dns_cache_timeout' => 360]); // seconds From bb26bba88045375391e675b703cbfc99c2012db2 Mon Sep 17 00:00:00 2001 From: Denny Septian Panggabean <97607754+ddevsr@users.noreply.github.com> Date: Wed, 14 May 2025 23:01:03 +0700 Subject: [PATCH 04/13] Update user_guide_src/source/libraries/curlrequest.rst Co-authored-by: John Paul E. Balandan, CPA --- user_guide_src/source/libraries/curlrequest.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user_guide_src/source/libraries/curlrequest.rst b/user_guide_src/source/libraries/curlrequest.rst index a1ab33663757..6fdb74ca13fe 100644 --- a/user_guide_src/source/libraries/curlrequest.rst +++ b/user_guide_src/source/libraries/curlrequest.rst @@ -256,7 +256,7 @@ dns_cache_timeout .. versionadded:: 4.7.0 -By default, CodeIgniter does not change the PHP DNS Cache Timeout value. If you need to +By default, CodeIgniter does not change the DNS Cache Timeout value (``120`` seconds). If you need to modify this value, you can do so by passing an amount of time in seconds with the ``dns_cache_timeout`` option. .. literalinclude:: curlrequest/037.php From c3f2f21f34a21a360605366801f4b35e42680b9c Mon Sep 17 00:00:00 2001 From: Denny Septian Panggabean Date: Thu, 15 May 2025 10:13:38 +0700 Subject: [PATCH 05/13] fix: more test coverage dns_cache_timeout options CURLRequest --- system/HTTP/CURLRequest.php | 4 +- tests/system/HTTP/CURLRequestTest.php | 63 ++++++++++++++++----------- 2 files changed, 40 insertions(+), 27 deletions(-) diff --git a/system/HTTP/CURLRequest.php b/system/HTTP/CURLRequest.php index 7121c84b303d..22dce5c43585 100644 --- a/system/HTTP/CURLRequest.php +++ b/system/HTTP/CURLRequest.php @@ -617,8 +617,8 @@ protected function setCURLOptions(array $curlOptions = [], array $config = []) } // DNS Cache Timeout - if (! empty($config['dns_cache_timeout']) && is_numeric($config['dns_cache_timeout'])) { - $curlOptions[CURLOPT_DNS_CACHE_TIMEOUT] = (int) $config['dns_cache_timeout']; + if (isset($config['dns_cache_timeout']) && is_numeric($config['dns_cache_timeout']) && $config['dns_cache_timeout'] > 0) { + $curlOptions[CURLOPT_DNS_CACHE_TIMEOUT] = $config['dns_cache_timeout']; } // Timeout diff --git a/tests/system/HTTP/CURLRequestTest.php b/tests/system/HTTP/CURLRequestTest.php index bc920aeb167f..b6b9e62a9b44 100644 --- a/tests/system/HTTP/CURLRequestTest.php +++ b/tests/system/HTTP/CURLRequestTest.php @@ -22,6 +22,7 @@ use Config\CURLRequest as ConfigCURLRequest; use CURLFile; use PHPUnit\Framework\Attributes\BackupGlobals; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\Attributes\Group; /** @@ -1212,40 +1213,52 @@ public function testForceResolveIPUnknown(): void $this->assertSame(\CURL_IPRESOLVE_WHATEVER, $options[CURLOPT_IPRESOLVE]); } - public function testDNSCacheTimeoutEmptyOption(): void - { - $this->request->request('POST', '/post', [ - 'dns_cache_timeout' => 0, - ]); - - $options = $this->request->curl_options; - - $this->assertArrayNotHasKey(CURLOPT_DNS_CACHE_TIMEOUT, $options); - } - - public function testDNSCacheTimeoutSetOption(): void + /** + * @return array> + */ + public static function provideDNSCacheTimeout(): iterable { - $timeout = 160; - $this->request->request('POST', '/post', [ - 'dns_cache_timeout' => $timeout, - ]); - - $options = $this->request->curl_options; - - $this->assertArrayHasKey(CURLOPT_DNS_CACHE_TIMEOUT, $options); - $this->assertSame($timeout, $options[CURLOPT_DNS_CACHE_TIMEOUT]); + yield from [ + 'valid timeout (integer)' => [ + 'input' => 160, + 'expectedHasKey' => true, + 'expectedValue' => 160, + ], + 'valid timeout (numeric string)' => [ + 'input' => '180', + 'expectedHasKey' => true, + 'expectedValue' => '180', + ], + 'invalid timeout (string)' => [ + 'input' => 'is_wrong', + 'expectedHasKey' => false, + ], + 'invalid timeout (zero)' => [ + 'input' => 0, + 'expectedHasKey' => false, + ], + 'invalid timeout (negative number)' => [ + 'input' => -2, + 'expectedHasKey' => false, + ], + ]; } - public function testDNSCacheTimeoutWrongSetOption(): void + #[DataProvider('provideDNSCacheTimeout')] + public function testDNSCacheTimeoutOption($input, bool $expectedHasKey, $expectedValue = null): void { - $timeout = 'is_wrong'; $this->request->request('POST', '/post', [ - 'dns_cache_timeout' => $timeout, + 'dns_cache_timeout' => $input, ]); $options = $this->request->curl_options; - $this->assertArrayNotHasKey(CURLOPT_DNS_CACHE_TIMEOUT, $options); + if ($expectedHasKey) { + $this->assertArrayHasKey(CURLOPT_DNS_CACHE_TIMEOUT, $options); + $this->assertSame($expectedValue, $options[CURLOPT_DNS_CACHE_TIMEOUT]); + } else { + $this->assertArrayNotHasKey(CURLOPT_DNS_CACHE_TIMEOUT, $options); + } } public function testCookieOption(): void From a48bc8a0af7279cb930dc2137e555203b57db6e2 Mon Sep 17 00:00:00 2001 From: Denny Septian Panggabean Date: Thu, 15 May 2025 10:44:07 +0700 Subject: [PATCH 06/13] fix: specified variable doctype --- tests/system/HTTP/CURLRequestTest.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/system/HTTP/CURLRequestTest.php b/tests/system/HTTP/CURLRequestTest.php index b6b9e62a9b44..7c6e2feb08bb 100644 --- a/tests/system/HTTP/CURLRequestTest.php +++ b/tests/system/HTTP/CURLRequestTest.php @@ -1229,6 +1229,10 @@ public static function provideDNSCacheTimeout(): iterable 'expectedHasKey' => true, 'expectedValue' => '180', ], + 'invalid timeout (null)' => [ + 'input' => null, + 'expectedHasKey' => false, + ], 'invalid timeout (string)' => [ 'input' => 'is_wrong', 'expectedHasKey' => false, @@ -1245,7 +1249,7 @@ public static function provideDNSCacheTimeout(): iterable } #[DataProvider('provideDNSCacheTimeout')] - public function testDNSCacheTimeoutOption($input, bool $expectedHasKey, $expectedValue = null): void + public function testDNSCacheTimeoutOption(int|string|null $input, bool $expectedHasKey, int|string|null $expectedValue = null): void { $this->request->request('POST', '/post', [ 'dns_cache_timeout' => $input, From 2e6723691eeee1b80f938879c16cc817c459ddf5 Mon Sep 17 00:00:00 2001 From: Denny Septian Panggabean Date: Thu, 15 May 2025 11:02:10 +0700 Subject: [PATCH 07/13] fix: more coverage --- system/HTTP/CURLRequest.php | 4 ++-- tests/system/HTTP/CURLRequestTest.php | 20 ++++++++++++++------ 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/system/HTTP/CURLRequest.php b/system/HTTP/CURLRequest.php index 22dce5c43585..ef5d10880ae6 100644 --- a/system/HTTP/CURLRequest.php +++ b/system/HTTP/CURLRequest.php @@ -617,8 +617,8 @@ protected function setCURLOptions(array $curlOptions = [], array $config = []) } // DNS Cache Timeout - if (isset($config['dns_cache_timeout']) && is_numeric($config['dns_cache_timeout']) && $config['dns_cache_timeout'] > 0) { - $curlOptions[CURLOPT_DNS_CACHE_TIMEOUT] = $config['dns_cache_timeout']; + if (isset($config['dns_cache_timeout']) && is_numeric($config['dns_cache_timeout']) && $config['dns_cache_timeout'] >= -1) { + $curlOptions[CURLOPT_DNS_CACHE_TIMEOUT] = (int) $config['dns_cache_timeout']; } // Timeout diff --git a/tests/system/HTTP/CURLRequestTest.php b/tests/system/HTTP/CURLRequestTest.php index 7c6e2feb08bb..247976d796e2 100644 --- a/tests/system/HTTP/CURLRequestTest.php +++ b/tests/system/HTTP/CURLRequestTest.php @@ -1215,6 +1215,8 @@ public function testForceResolveIPUnknown(): void /** * @return array> + * + * @see https://linux.die.net/man/3/curl_easy_setopt */ public static function provideDNSCacheTimeout(): iterable { @@ -1227,7 +1229,17 @@ public static function provideDNSCacheTimeout(): iterable 'valid timeout (numeric string)' => [ 'input' => '180', 'expectedHasKey' => true, - 'expectedValue' => '180', + 'expectedValue' => 180, + ], + 'valid timeout (zero / disabled)' => [ + 'input' => 0, + 'expectedHasKey' => true, + 'expectedValue' => 0, + ], + 'valid timeout (forever)' => [ + 'input' => -1, + 'expectedHasKey' => true, + 'expectedValue' => -1, ], 'invalid timeout (null)' => [ 'input' => null, @@ -1237,11 +1249,7 @@ public static function provideDNSCacheTimeout(): iterable 'input' => 'is_wrong', 'expectedHasKey' => false, ], - 'invalid timeout (zero)' => [ - 'input' => 0, - 'expectedHasKey' => false, - ], - 'invalid timeout (negative number)' => [ + 'invalid timeout (negative number / below -1)' => [ 'input' => -2, 'expectedHasKey' => false, ], From 3c0c9c19fef9244a6f224a30c55c66c88f3f5b75 Mon Sep 17 00:00:00 2001 From: Denny Septian Panggabean Date: Thu, 15 May 2025 11:05:21 +0700 Subject: [PATCH 08/13] tests: added more coverage --- tests/system/HTTP/CURLRequestTest.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tests/system/HTTP/CURLRequestTest.php b/tests/system/HTTP/CURLRequestTest.php index 247976d796e2..5f549f9ad5d8 100644 --- a/tests/system/HTTP/CURLRequestTest.php +++ b/tests/system/HTTP/CURLRequestTest.php @@ -1236,11 +1236,21 @@ public static function provideDNSCacheTimeout(): iterable 'expectedHasKey' => true, 'expectedValue' => 0, ], + 'valid timeout (zero / disabled using string)' => [ + 'input' => '0', + 'expectedHasKey' => true, + 'expectedValue' => 0, + ], 'valid timeout (forever)' => [ 'input' => -1, 'expectedHasKey' => true, 'expectedValue' => -1, ], + 'valid timeout (forever using string)' => [ + 'input' => '-1', + 'expectedHasKey' => true, + 'expectedValue' => -1, + ], 'invalid timeout (null)' => [ 'input' => null, 'expectedHasKey' => false, From 9ef825f5227806a1473a6ff2f04f2f914ce2f167 Mon Sep 17 00:00:00 2001 From: Denny Septian Panggabean Date: Thu, 15 May 2025 11:47:39 +0700 Subject: [PATCH 09/13] docs: added notes libcurl --- tests/system/HTTP/CURLRequestTest.php | 2 +- user_guide_src/source/libraries/curlrequest.rst | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/system/HTTP/CURLRequestTest.php b/tests/system/HTTP/CURLRequestTest.php index 5f549f9ad5d8..2b2158a09eab 100644 --- a/tests/system/HTTP/CURLRequestTest.php +++ b/tests/system/HTTP/CURLRequestTest.php @@ -1216,7 +1216,7 @@ public function testForceResolveIPUnknown(): void /** * @return array> * - * @see https://linux.die.net/man/3/curl_easy_setopt + * @see https://curl.se/libcurl/c/CURLOPT_DNS_CACHE_TIMEOUT.html */ public static function provideDNSCacheTimeout(): iterable { diff --git a/user_guide_src/source/libraries/curlrequest.rst b/user_guide_src/source/libraries/curlrequest.rst index 6fdb74ca13fe..947dc75ad2fb 100644 --- a/user_guide_src/source/libraries/curlrequest.rst +++ b/user_guide_src/source/libraries/curlrequest.rst @@ -256,11 +256,13 @@ dns_cache_timeout .. versionadded:: 4.7.0 -By default, CodeIgniter does not change the DNS Cache Timeout value (``120`` seconds). If you need to +By default PHP, CodeIgniter does not change the DNS Cache Timeout value (``120`` seconds). If you need to modify this value, you can do so by passing an amount of time in seconds with the ``dns_cache_timeout`` option. .. literalinclude:: curlrequest/037.php +.. note:: Based on documentation `libcurl `__, you can set to zero to completely disable caching, or set to -1 to make the cached entries remain forever. + form_params =========== From d2f0e3178f8b6dacd04d6d86bfc670ae813e6a74 Mon Sep 17 00:00:00 2001 From: Denny Septian Panggabean Date: Thu, 15 May 2025 11:54:54 +0700 Subject: [PATCH 10/13] docs: remove notes PHP --- user_guide_src/source/libraries/curlrequest.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user_guide_src/source/libraries/curlrequest.rst b/user_guide_src/source/libraries/curlrequest.rst index 947dc75ad2fb..675c14fee2ce 100644 --- a/user_guide_src/source/libraries/curlrequest.rst +++ b/user_guide_src/source/libraries/curlrequest.rst @@ -256,7 +256,7 @@ dns_cache_timeout .. versionadded:: 4.7.0 -By default PHP, CodeIgniter does not change the DNS Cache Timeout value (``120`` seconds). If you need to +By default, CodeIgniter does not change the DNS Cache Timeout value (``120`` seconds). If you need to modify this value, you can do so by passing an amount of time in seconds with the ``dns_cache_timeout`` option. .. literalinclude:: curlrequest/037.php From 5094584428c8fcbc3ba54644fea4d918f44b2b4a Mon Sep 17 00:00:00 2001 From: Denny Septian Panggabean <97607754+ddevsr@users.noreply.github.com> Date: Fri, 16 May 2025 00:39:24 +0700 Subject: [PATCH 11/13] Update tests/system/HTTP/CURLRequestTest.php Co-authored-by: John Paul E. Balandan, CPA --- tests/system/HTTP/CURLRequestTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/system/HTTP/CURLRequestTest.php b/tests/system/HTTP/CURLRequestTest.php index 2b2158a09eab..649eafd1f6a4 100644 --- a/tests/system/HTTP/CURLRequestTest.php +++ b/tests/system/HTTP/CURLRequestTest.php @@ -1267,7 +1267,7 @@ public static function provideDNSCacheTimeout(): iterable } #[DataProvider('provideDNSCacheTimeout')] - public function testDNSCacheTimeoutOption(int|string|null $input, bool $expectedHasKey, int|string|null $expectedValue = null): void + public function testDNSCacheTimeoutOption(int|string|null $input, bool $expectedHasKey, ?int $expectedValue = null): void { $this->request->request('POST', '/post', [ 'dns_cache_timeout' => $input, From e3a7be0aafd74ea433a3b3dbbc009e35d6e68906 Mon Sep 17 00:00:00 2001 From: Denny Septian Panggabean <97607754+ddevsr@users.noreply.github.com> Date: Fri, 16 May 2025 00:39:39 +0700 Subject: [PATCH 12/13] Update tests/system/HTTP/CURLRequestTest.php Co-authored-by: John Paul E. Balandan, CPA --- tests/system/HTTP/CURLRequestTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/system/HTTP/CURLRequestTest.php b/tests/system/HTTP/CURLRequestTest.php index 649eafd1f6a4..b44fbe4db99f 100644 --- a/tests/system/HTTP/CURLRequestTest.php +++ b/tests/system/HTTP/CURLRequestTest.php @@ -1214,7 +1214,7 @@ public function testForceResolveIPUnknown(): void } /** - * @return array> + * @return iterable * * @see https://curl.se/libcurl/c/CURLOPT_DNS_CACHE_TIMEOUT.html */ From ad84b38c5d68791174e2a40f62a9aa573ee48fbc Mon Sep 17 00:00:00 2001 From: Denny Septian Panggabean <97607754+ddevsr@users.noreply.github.com> Date: Fri, 16 May 2025 00:39:49 +0700 Subject: [PATCH 13/13] Update user_guide_src/source/libraries/curlrequest.rst Co-authored-by: John Paul E. Balandan, CPA --- user_guide_src/source/libraries/curlrequest.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/user_guide_src/source/libraries/curlrequest.rst b/user_guide_src/source/libraries/curlrequest.rst index 675c14fee2ce..45de3ae5cdd6 100644 --- a/user_guide_src/source/libraries/curlrequest.rst +++ b/user_guide_src/source/libraries/curlrequest.rst @@ -261,7 +261,7 @@ modify this value, you can do so by passing an amount of time in seconds with th .. literalinclude:: curlrequest/037.php -.. note:: Based on documentation `libcurl `__, you can set to zero to completely disable caching, or set to -1 to make the cached entries remain forever. +.. note:: Based on the `libcurl `__ documentation, you can set to zero (``0``) to completely disable caching, or set to ``-1`` to make the cached entries remain forever. form_params ===========