Merge pull request #2098 from evincarofautumn/fix-gchandle-assert
[mono.git] / mcs / class / System.Web / System.Web / HttpParamsCollection.cs
index e9de0a5a572b6760960aa8540b70e3b404feb044..2775240315c61624493311e20c0b60065f1cefd3 100644 (file)
@@ -34,11 +34,11 @@ namespace System.Web
 {
        internal class HttpParamsCollection : WebROCollection
        {
-               private NameValueCollection _queryString;
-               private NameValueCollection _form;
-               private NameValueCollection _serverVariables;
-               private HttpCookieCollection _cookies;
-               private bool _merged;
+               NameValueCollection _queryString;
+               NameValueCollection _form;
+               NameValueCollection _serverVariables;
+               HttpCookieCollection _cookies;
+               bool _merged;
 
                public HttpParamsCollection (NameValueCollection queryString,
                                             NameValueCollection form,
@@ -55,38 +55,11 @@ namespace System.Web
 
                public override string Get (string name)
                {
-                       if (_merged)
-                               return base.Get (name);
-
-                       string values = null;
-
-                       string query_value = _queryString [name];
-                       if (query_value != null)
-                               values += query_value;
-
-                       string form_value = _form [name];
-                       if (form_value != null)
-                               values += "," + form_value;
-
-                       string servar_value = _serverVariables [name];
-                       if (servar_value != null)
-                               values += "," + servar_value;
-
-                       HttpCookie answer = _cookies [name];
-                       string cookie_value = ((answer == null) ? null : answer.Value);
-                       if (cookie_value != null)
-                               values += "," + cookie_value;
-
-                       if (values == null)
-                               return null;
-
-                       if (values.Length > 0 && values [0] == ',')
-                               return values.Substring (1);
-
-                       return values;
+                       MergeCollections ();
+                       return base.Get (name);
                }
 
-               private void MergeCollections ()
+               void MergeCollections ()
                {
                        if (_merged)
                                return;