internal virtual string ResolveServerVariable(string varname)
 {
     if ((varname.Length == 0) || (varname == "HTTP_USER_AGENT"))
     {
         return(HttpCapabilitiesDefaultProvider.GetUserAgent(this._request));
     }
     if (this.EvaluateOnlyUserAgent)
     {
         return(string.Empty);
     }
     return(this.ResolveServerVariableWithAssert(varname));
 }
        internal HttpBrowserCapabilities GetHttpBrowserCapabilities(HttpRequest request)
        {
            if (request == null)
            {
                throw new ArgumentNullException("request");
            }
            NameValueCollection     headers     = request.Headers;
            HttpBrowserCapabilities browserCaps = new HttpBrowserCapabilities();
            Hashtable hashtable = new Hashtable(180, StringComparer.OrdinalIgnoreCase);

            hashtable[string.Empty]  = HttpCapabilitiesDefaultProvider.GetUserAgent(request);
            browserCaps.Capabilities = hashtable;
            this.ConfigureBrowserCapabilities(headers, browserCaps);
            this.ConfigureCustomCapabilities(headers, browserCaps);
            return(browserCaps);
        }
        internal static string GetBrowserCapKey(IDictionary headers, HttpRequest request)
        {
            StringBuilder builder = new StringBuilder();

            foreach (string str in headers.Keys)
            {
                if (str.Length == 0)
                {
                    builder.Append(HttpCapabilitiesDefaultProvider.GetUserAgent(request));
                }
                else
                {
                    builder.Append(request.Headers[str]);
                }
                builder.Append("\n");
            }
            return(builder.ToString());
        }
        internal static string GetBrowserCapKey(IDictionary headers, HttpRequest request)
        {
            StringBuilder sb = new StringBuilder();

            foreach (String key in headers.Keys)
            {
                if (key.Length == 0)
                {
                    sb.Append(HttpCapabilitiesDefaultProvider.GetUserAgent(request));
                }
                else
                {
                    sb.Append(request.Headers[key]);
                }

                sb.Append("\n");
            }

            return(sb.ToString());
        }