Fix #609: Implement Curl::setFile() and MultiCurl::setFile()

This commit is contained in:
Zach Borboa
2020-01-14 20:36:19 -08:00
parent 54be433a72
commit 1d0f6cfc84
4 changed files with 41 additions and 0 deletions
+11
View File
@@ -925,6 +925,17 @@ class Curl
$this->setUserAgent($user_agent);
}
/**
* Set File
*
* @access public
* @param $file
*/
public function setFile($file)
{
$this->setOpt(CURLOPT_FILE, $file);
}
/**
* Set Header
*
+11
View File
@@ -517,6 +517,17 @@ class MultiCurl
$this->setOpt(CURLOPT_COOKIEJAR, $cookie_jar);
}
/**
* Set File
*
* @access public
* @param $file
*/
public function setFile($file)
{
$this->setOpt(CURLOPT_FILE, $file);
}
/**
* Set Header
*
+9
View File
@@ -3880,4 +3880,13 @@ class CurlTest extends \PHPUnit\Framework\TestCase
$test->curl->setHeader('Content-Type', 'application/json');
$this->assertEquals($expected_response, $test->server('post_json', 'POST', $user));
}
public function testSetFile()
{
$file = STDOUT;
$curl = new Curl();
$curl->setFile(STDOUT);
$this->assertEquals($file, $curl->getOpt(CURLOPT_FILE));
}
}
@@ -3390,4 +3390,14 @@ class MultiCurlTest extends \PHPUnit\Framework\TestCase
// Ensure request with specific proxy is not set to one of the random proxies.
$this->assertNotContains($get_2->getOpt(CURLOPT_PROXY), $proxies);
}
public function testSetFile()
{
$file = STDOUT;
$multi_curl = new MultiCurl();
$this->assertNull($multi_curl->getOpt(CURLOPT_FILE));
$multi_curl->setFile(STDOUT);
$this->assertEquals($file, $multi_curl->getOpt(CURLOPT_FILE));
}
}