Skip to content

Commit 029ee61

Browse files
committed
Merge pull request #45 from chrisryan/master
Update URL Encoding
2 parents 2fac1b9 + b81a25c commit 029ee61

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

src/Util/Http.php

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -125,19 +125,19 @@ public static function buildQueryString(array $parameters)
125125
{
126126
$queryStrings = [];
127127
foreach ($parameters as $parameterName => $parameterValue) {
128-
$parameterName = urlencode($parameterName);
128+
$parameterName = rawurlencode($parameterName);
129129

130130
if (is_array($parameterValue)) {
131131
foreach ($parameterValue as $eachValue) {
132-
$eachValue = urlencode($eachValue);
132+
$eachValue = rawurlencode($eachValue);
133133
$queryStrings[] = "{$parameterName}={$eachValue}";
134134
}
135135
} elseif ($parameterValue === false) {
136136
$queryStrings[] = "{$parameterName}=false";
137137
} elseif ($parameterValue === true) {
138138
$queryStrings[] = "{$parameterName}=true";
139139
} else {
140-
$parameterValue = urlencode($parameterValue);
140+
$parameterValue = rawurlencode($parameterValue);
141141
$queryStrings[] = "{$parameterName}={$parameterValue}";
142142
}
143143
}
@@ -178,8 +178,8 @@ public static function getQueryParams($url, array $collapsedParams = [])
178178
list($name, $value) = $nameAndValue;
179179
}
180180

181-
$name = urldecode($name);
182-
$value = urldecode($value);
181+
$name = rawurldecode($name);
182+
$value = rawurldecode($value);
183183
$collapsed = isset($collapsedParams[$name]);
184184

185185
if (!array_key_exists($name, $result)) {
@@ -232,8 +232,8 @@ public static function getQueryParamsCollapsed($url, array $expectedArrayParams
232232
list($name, $value) = $nameAndValue;
233233
}
234234

235-
$name = urldecode($name);
236-
$value = urldecode($value);
235+
$name = rawurldecode($name);
236+
$value = rawurldecode($value);
237237

238238
if (!array_key_exists($name, $result)) {
239239
$result[$name] = $value;

tests/Util/HttpTest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ public function buildQueryString_basicUse()
103103
{
104104
$data = ['foo' => 'bar', 'baz' => 'boom', 'cow' => 'milk', 'php' => 'hypertext processor', 'theFalse' => false, 'theTrue' => true];
105105

106-
$this->assertSame('foo=bar&baz=boom&cow=milk&php=hypertext+processor&theFalse=false&theTrue=true', H::buildQueryString($data));
106+
$this->assertSame('foo=bar&baz=boom&cow=milk&php=hypertext%20processor&theFalse=false&theTrue=true', H::buildQueryString($data));
107107
}
108108

109109
/**
@@ -114,7 +114,7 @@ public function buildQueryString_multiValue()
114114
{
115115
$data = ['param1' => ['value', 'another value'], 'param2' => 'a value'];
116116

117-
$this->assertSame('param1=value&param1=another+value&param2=a+value', H::buildQueryString($data));
117+
$this->assertSame('param1=value&param1=another%20value&param2=a%20value', H::buildQueryString($data));
118118
}
119119

120120
/**
@@ -123,7 +123,7 @@ public function buildQueryString_multiValue()
123123
*/
124124
public function buildQueryString_complexValues()
125125
{
126-
$this->assertSame('a+b+c=1%242%283&a+b+c=4%295%2A6', H::buildQueryString(['a b c' => ['1$2(3', '4)5*6']]));
126+
$this->assertSame('a%20b%20c=1%242%283&a%20b%20c=4%295%2A6', H::buildQueryString(['a b c' => ['1$2(3', '4)5*6']]));
127127
}
128128

129129
/**

0 commit comments

Comments
 (0)