Beispiel #1
0
        GetBrowserCapabilities(HttpRequest request)
        {
            HttpCapabilitiesDefaultProvider defaults =
                new HttpCapabilitiesDefaultProvider();
            HttpBrowserCapabilities caps = defaults.GetBrowserCapabilities(request);

            if (request.UserAgent.Contains("Kindle Fire"))
            {
                caps.Capabilities["Browser"]                  = "Silk";
                caps.Capabilities["IsMobileDevice"]           = "true";
                caps.Capabilities["MobileDeviceManufacturer"] = "Amazon";
                caps.Capabilities["MobileDeviceModel"]        = "Kindle Fire";
                if (request.UserAgent.Contains("Kindle Fire HD"))
                {
                    caps.Capabilities["MobileDeviceModel"] = "Kindle Fire HD";
                }
            }
            return(caps);
        }
        /// <summary>
        /// Provides information to the web server about the requesting device.
        /// </summary>
        /// <param name="request">An HttpRequest that provides information about the source device.</param>
        /// <returns>A HttpBrowserCapabilities object containing information relevent to the device sources from WURFL.</returns>
        public override HttpBrowserCapabilities GetBrowserCapabilities(HttpRequest request)
        {
            // Get the base capabilities.
            System.Web.HttpBrowserCapabilities baseCapabilities =
                _parent == null
                    ? base.GetBrowserCapabilities(request)
                    : _parent.GetBrowserCapabilities(request);

            // Get the new and overridden capabilities.
            IDictionary overrideCapabilities = Factory.Create(request, baseCapabilities.Capabilities);

            if (overrideCapabilities != null)
            {
                // Create a new browser capabilities instance combining the two.
                return(new FiftyOneBrowserCapabilities(baseCapabilities, overrideCapabilities));
            }

            // We couldn't get any new values so return the current ones unaltered.
            return(baseCapabilities);
        }