mirror of
https://github.com/php-curl-class/php-curl-class.git
synced 2026-08-29 19:54:49 +00:00
Merge pull request #373 from zachborboa/master
Use explicit argument separator when building url
This commit is contained in:
@@ -173,6 +173,8 @@ $multi_curl->addGet('https://www.bing.com/search', array(
|
||||
$multi_curl->start(); // Blocks until all items in the queue have been processed.
|
||||
```
|
||||
|
||||
More examples are available under [/examples](https://github.com/php-curl-class/php-curl-class/tree/master/examples).
|
||||
|
||||
### Available Methods
|
||||
```php
|
||||
Curl::__construct($base_url = null)
|
||||
|
||||
+1
-1
@@ -1094,7 +1094,7 @@ class Curl
|
||||
*/
|
||||
private function buildURL($url, $data = array())
|
||||
{
|
||||
return $url . (empty($data) ? '' : '?' . http_build_query($data));
|
||||
return $url . (empty($data) ? '' : '?' . http_build_query($data, '', '&'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -2807,4 +2807,29 @@ class CurlTest extends PHPUnit_Framework_TestCase
|
||||
|
||||
$this->assertFalse(isset($options[CURLOPT_COOKIE]));
|
||||
}
|
||||
|
||||
public function testBuildUrlArgSeparator()
|
||||
{
|
||||
$base_url = 'https://www.example.com/path';
|
||||
$data = array(
|
||||
'arg' => 'value',
|
||||
'another' => 'one',
|
||||
);
|
||||
$expected_url = $base_url . '?arg=value&another=one';
|
||||
|
||||
foreach (array(false, '&', '&') as $arg_separator) {
|
||||
if ($arg_separator) {
|
||||
ini_set('arg_separator.output', $arg_separator);
|
||||
}
|
||||
|
||||
$curl = new Curl();
|
||||
|
||||
$reflector = new ReflectionObject($curl);
|
||||
$method = $reflector->getMethod('buildURL');
|
||||
$method->setAccessible(true);
|
||||
|
||||
$actual_url = $method->invoke($curl, $base_url, $data);
|
||||
$this->assertEquals($expected_url, $actual_url);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user