Merge pull request #674 from zachborboa/master

Add additional Curl::set* and MultiCurl::set* helper methods
This commit is contained in:
Zach Borboa
2021-06-17 11:54:46 -04:00
committed by GitHub
5 changed files with 190 additions and 0 deletions
+10
View File
@@ -254,6 +254,8 @@ Curl::put($url, $data = [])
Curl::removeHeader($key)
Curl::reset()
Curl::search($url, $data = [])
Curl::setAutoReferer($auto_referer = true)
Curl::setAutoReferrer($auto_referrer = true)
Curl::setBasicAuthentication($username, $password = '')
Curl::setConnectTimeout($seconds)
Curl::setCookie($key, $value)
@@ -268,11 +270,14 @@ Curl::setDefaultUserAgent()
Curl::setDefaultXmlDecoder()
Curl::setDigestAuthentication($username, $password = '')
Curl::setFile($file)
Curl::setFollowLocation($follow_location = true)
Curl::setForbidReuse($forbid_reuse = true)
Curl::setHeader($key, $value)
Curl::setHeaders($headers)
Curl::setInterface($interface)
Curl::setJsonDecoder($mixed)
Curl::setMaxFilesize($bytes)
Curl::setMaximumRedirects($maximum_redirects)
Curl::setOpt($option, $value)
Curl::setOpts($options)
Curl::setPort($port)
@@ -311,6 +316,8 @@ MultiCurl::disableTimeout()
MultiCurl::error($callback)
MultiCurl::getOpt($option)
MultiCurl::removeHeader($key)
MultiCurl::setAutoReferer($auto_referer = true)
MultiCurl::setAutoReferrer($auto_referrer = true)
MultiCurl::setBasicAuthentication($username, $password = '')
MultiCurl::setConcurrency($concurrency)
MultiCurl::setConnectTimeout($seconds)
@@ -321,10 +328,13 @@ MultiCurl::setCookieString($string)
MultiCurl::setCookies($cookies)
MultiCurl::setDigestAuthentication($username, $password = '')
MultiCurl::setFile($file)
MultiCurl::setFollowLocation($follow_location = true)
MultiCurl::setForbidReuse($forbid_reuse = true)
MultiCurl::setHeader($key, $value)
MultiCurl::setHeaders($headers)
MultiCurl::setInterface($interface)
MultiCurl::setJsonDecoder($mixed)
MultiCurl::setMaximumRedirects($maximum_redirects)
MultiCurl::setOpt($option, $value)
MultiCurl::setOpts($options)
MultiCurl::setPort($port)
+50
View File
@@ -1448,6 +1448,56 @@ class Curl
$this->initialize();
}
/**
* Set auto referer
*
* @access public
*/
public function setAutoReferer($auto_referer = true)
{
$this->setAutoReferrer($auto_referer);
}
/**
* Set auto referrer
*
* @access public
*/
public function setAutoReferrer($auto_referrer = true)
{
$this->setOpt(CURLOPT_AUTOREFERER, $auto_referrer);
}
/**
* Set follow location
*
* @access public
*/
public function setFollowLocation($follow_location = true)
{
$this->setOpt(CURLOPT_FOLLOWLOCATION, $follow_location);
}
/**
* Set forbid reuse
*
* @access public
*/
public function setForbidReuse($forbid_reuse = true)
{
$this->setOpt(CURLOPT_FORBID_REUSE, $forbid_reuse);
}
/**
* Set maximum redirects
*
* @access public
*/
public function setMaximumRedirects($maximum_redirects)
{
$this->setOpt(CURLOPT_MAXREDIRS, $maximum_redirects);
}
public function getCurl()
{
return $this->curl;
+50
View File
@@ -1071,6 +1071,56 @@ class MultiCurl
$this->setOpt(CURLOPT_STDERR, $output);
}
/**
* Set auto referer
*
* @access public
*/
public function setAutoReferer($auto_referer = true)
{
$this->setAutoReferrer($auto_referer);
}
/**
* Set auto referrer
*
* @access public
*/
public function setAutoReferrer($auto_referrer = true)
{
$this->setOpt(CURLOPT_AUTOREFERER, $auto_referrer);
}
/**
* Set follow location
*
* @access public
*/
public function setFollowLocation($follow_location = true)
{
$this->setOpt(CURLOPT_FOLLOWLOCATION, $follow_location);
}
/**
* Set forbid reuse
*
* @access public
*/
public function setForbidReuse($forbid_reuse = true)
{
$this->setOpt(CURLOPT_FORBID_REUSE, $forbid_reuse);
}
/**
* Set maximum redirects
*
* @access public
*/
public function setMaximumRedirects($maximum_redirects)
{
$this->setOpt(CURLOPT_MAXREDIRS, $maximum_redirects);
}
/**
* Destruct
*
+40
View File
@@ -3987,4 +3987,44 @@ class CurlTest extends \PHPUnit\Framework\TestCase
$this->assertEquals('Value15', $headers['Key15']);
$this->assertEquals('Value16', $headers['Key16']);
}
public function testSetAutoReferer()
{
$curl = new Curl();
$this->assertNull($curl->getOpt(CURLOPT_AUTOREFERER));
$curl->setAutoReferer(true);
$this->assertTrue($curl->getOpt(CURLOPT_AUTOREFERER));
}
public function testSetAutoReferrer()
{
$curl = new Curl();
$this->assertNull($curl->getOpt(CURLOPT_AUTOREFERER));
$curl->setAutoReferrer(true);
$this->assertTrue($curl->getOpt(CURLOPT_AUTOREFERER));
}
public function testSetFollowLocation()
{
$curl = new Curl();
$this->assertNull($curl->getOpt(CURLOPT_FOLLOWLOCATION));
$curl->setFollowLocation(true);
$this->assertTrue($curl->getOpt(CURLOPT_FOLLOWLOCATION));
}
public function testSetForbidReuse()
{
$curl = new Curl();
$this->assertNull($curl->getOpt(CURLOPT_FORBID_REUSE));
$curl->setForbidReuse(true);
$this->assertTrue($curl->getOpt(CURLOPT_FORBID_REUSE));
}
public function testSetMaximumRedirects()
{
$curl = new Curl();
$this->assertNull($curl->getOpt(CURLOPT_MAXREDIRS));
$curl->setMaximumRedirects(3);
$this->assertEquals(3, $curl->getOpt(CURLOPT_MAXREDIRS));
}
}
@@ -4678,4 +4678,44 @@ class MultiCurlTest extends \PHPUnit\Framework\TestCase
$this->assertEquals('Value16', $headers['Key16']);
}
}
public function testSetAutoReferer()
{
$multi_curl = new MultiCurl();
$this->assertNull($multi_curl->getOpt(CURLOPT_AUTOREFERER));
$multi_curl->setAutoReferer(true);
$this->assertTrue($multi_curl->getOpt(CURLOPT_AUTOREFERER));
}
public function testSetAutoReferrer()
{
$multi_curl = new MultiCurl();
$this->assertNull($multi_curl->getOpt(CURLOPT_AUTOREFERER));
$multi_curl->setAutoReferrer(true);
$this->assertTrue($multi_curl->getOpt(CURLOPT_AUTOREFERER));
}
public function testSetFollowLocation()
{
$multi_curl = new MultiCurl();
$this->assertNull($multi_curl->getOpt(CURLOPT_FOLLOWLOCATION));
$multi_curl->setFollowLocation(true);
$this->assertTrue($multi_curl->getOpt(CURLOPT_FOLLOWLOCATION));
}
public function testSetForbidReuse()
{
$multi_curl = new MultiCurl();
$this->assertNull($multi_curl->getOpt(CURLOPT_FORBID_REUSE));
$multi_curl->setForbidReuse(true);
$this->assertTrue($multi_curl->getOpt(CURLOPT_FORBID_REUSE));
}
public function testSetMaximumRedirects()
{
$multi_curl = new MultiCurl();
$this->assertNull($multi_curl->getOpt(CURLOPT_MAXREDIRS));
$multi_curl->setMaximumRedirects(3);
$this->assertEquals(3, $multi_curl->getOpt(CURLOPT_MAXREDIRS));
}
}