| Index: sdk/lib/io/http_utils.dart
|
| diff --git a/sdk/lib/io/http_utils.dart b/sdk/lib/io/http_utils.dart
|
| index 72561511dbc8ce7a2995ac33a24af8d0a6cbde6f..82db7deb9046bdc98ed856b0dd5c6a8d2ad386b9 100644
|
| --- a/sdk/lib/io/http_utils.dart
|
| +++ b/sdk/lib/io/http_utils.dart
|
| @@ -5,7 +5,9 @@
|
| part of dart.io;
|
|
|
| class _HttpUtils {
|
| - static String decodeUrlEncodedString(String urlEncoded) {
|
| + static String decodeUrlEncodedString(
|
| + String urlEncoded,
|
| + {Encoding encoding: Encoding.UTF_8}) {
|
| // First check the string for any encoding.
|
| int index = 0;
|
| bool encoded = false;
|
| @@ -47,10 +49,12 @@ class _HttpUtils {
|
| bytes.add(urlEncoded.codeUnitAt(i));
|
| }
|
| }
|
| - return decodeUtf8(bytes);
|
| + return _decodeString(bytes, encoding);
|
| }
|
|
|
| - static Map<String, String> splitQueryString(String queryString) {
|
| + static Map<String, String> splitQueryString(
|
| + String queryString,
|
| + {Encoding encoding: Encoding.UTF_8}) {
|
| Map<String, String> result = new Map<String, String>();
|
| int currentPosition = 0;
|
| int length = queryString.length;
|
| @@ -99,8 +103,8 @@ class _HttpUtils {
|
| }
|
| currentPosition = seppos + 1; // This also works when seppos == length.
|
| if (name == '') continue;
|
| - result[_HttpUtils.decodeUrlEncodedString(name)] =
|
| - _HttpUtils.decodeUrlEncodedString(value);
|
| + result[_HttpUtils.decodeUrlEncodedString(name, encoding: encoding)] =
|
| + _HttpUtils.decodeUrlEncodedString(value, encoding: encoding);
|
| }
|
| return result;
|
| }
|
|
|