about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2012-07-27 12:34:55 -0700
committerBrian Anderson <banderson@mozilla.com>2012-07-27 12:34:55 -0700
commit8fdf77a20daba89f117521b471ef77b087c94c4b (patch)
tree96b656ff6f3f25c39d18740c515243af9f676ea6 /src/libstd
parent8800413f52f427d41da193f7139e8d1a5038c836 (diff)
std: Make url a sendable type
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/net_url.rs14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/libstd/net_url.rs b/src/libstd/net_url.rs
index c925e93320a..712b5124c7f 100644
--- a/src/libstd/net_url.rs
+++ b/src/libstd/net_url.rs
@@ -1,8 +1,5 @@
 //! Types/fns concerning URLs (see RFC 3986)
 
-import map;
-import map::*;
-
 export url, userinfo, query, from_str, to_str;
 
 type url = {
@@ -19,7 +16,7 @@ type userinfo = {
     pass: option<~str>
 };
 
-type query = map::hashmap<~str, ~str>;
+type query = ~[(~str, ~str)];
 
 fn url(-scheme: ~str, -user: option<userinfo>, -host: ~str,
        -path: ~str, -query: query, -fragment: option<~str>) -> url {
@@ -61,11 +58,11 @@ fn userinfo_to_str(-userinfo: userinfo) -> ~str {
 }
 
 fn query_from_str(rawquery: ~str) -> query {
-    let query: query = map::str_hash();
+    let mut query: query = ~[];
     if str::len(rawquery) != 0 {
         for str::split_char(rawquery, '&').each |p| {
             let (k, v) = split_char_first(p, '=');
-            query.insert(k, v);
+            vec::push(query, (k, v));
         };
     }
     ret query;
@@ -73,7 +70,8 @@ fn query_from_str(rawquery: ~str) -> query {
 
 fn query_to_str(query: query) -> ~str {
     let mut strvec = ~[];
-    for query.each |k, v| {
+    for query.each |kv| {
+        let (k, v) = kv;
         strvec += ~[#fmt("%s=%s", k, v)];
     };
     ret str::connect(strvec, ~"&");
@@ -161,7 +159,7 @@ fn to_str(url: url) -> ~str {
     } else {
        ~""
     };
-    let query = if url.query.size() == 0 {
+    let query = if url.query.len() == 0 {
         ~""
     } else {
         str::concat(~[~"?", query_to_str(url.query)])