using System.Runtime.Serialization;
using System.Globalization;
using System.Security.Permissions;
+using System.Web.Util;
namespace System.Web
{
HttpRequest request;
bool loaded;
+ string QueryString {
+ get {
+ string qs = _request.QueryStringRaw;
+
+ if (String.IsNullOrEmpty (qs))
+ return qs;
+
+ if (qs [0] == '?')
+ return qs.Substring (1);
+
+ return qs;
+ }
+ }
+
public ServerVariablesCollection(HttpRequest request) : base(request)
{
IsReadOnly = true;
//
if (standard){
sb.Append ("HTTP_");
- sb.Append (key.ToUpper (CultureInfo.InvariantCulture).Replace ("-", "_"));
+ sb.Append (key.ToUpper (Helpers.InvariantCulture).Replace ('-', '_'));
sb.Append (":");
} else {
sb.Append (key);
if (null != hvalue && hvalue.Length > 0) {
hname = HttpWorkerRequest.GetKnownRequestHeaderName (i);
if (null != hname && hname.Length > 0)
- Add ("HTTP_" + hname.ToUpper (CultureInfo.InvariantCulture).Replace ('-', '_'), hvalue);
+ Add ("HTTP_" + hname.ToUpper (Helpers.InvariantCulture).Replace ('-', '_'), hvalue);
}
}
if (hname == null)
continue;
hvalue = unknown [i][1];
- Add ("HTTP_" + hname.ToUpper (CultureInfo.InvariantCulture).Replace ('-', '_'), hvalue);
+ Add ("HTTP_" + hname.ToUpper (Helpers.InvariantCulture).Replace ('-', '_'), hvalue);
}
}
}
Add("LOCAL_ADDR", wr.GetLocalAddress());
Add("PATH_INFO", request.PathInfo);
Add("PATH_TRANSLATED", request.PhysicalPath);
- Add("QUERY_STRING", request.QueryStringRaw);
+ Add("QUERY_STRING", QueryString);
Add("REMOTE_ADDR", request.UserHostAddress);
Add("REMOTE_HOST", request.UserHostName);
Add("REMOTE_PORT", wr.GetRemotePort ().ToString ());
{
if ((name == null) || (this._request == null))
return null;
- name = name.ToUpper (CultureInfo.InvariantCulture);
+ name = name.ToUpper (Helpers.InvariantCulture);
switch (name) {
case "AUTH_TYPE":
if (null != _request.Context.User && _request.Context.User.Identity.IsAuthenticated)
else
return string.Empty;
case "QUERY_STRING":
- return this._request.QueryStringRaw;
+ return QueryString;
case "PATH_INFO":
return this._request.PathInfo;
case "PATH_TRANSLATED":