/// <summary>
        /// Gets the resource request.
        /// </summary>
        /// <param name="uri">The URI.</param>
        /// <param name="resourceStrategyType">Type of the resource strategy.</param>
        /// <returns></returns>
        public ResourceRequest GetResourceRequest(string uri, ResourceStrategyType resourceStrategyType)
        {
            NetworkResourceArguments args = new NetworkResourceArguments()
            {
                Headers          = Device.RequestInjectionHeaders,
                CacheStaleMethod = CacheStaleMethod.Deferred
            };

            return(GetResourceRequest(uri, resourceStrategyType, args));
        }
        /// <summary>
        /// Returns Resource Request for specified cache and resource strategy
        /// </summary>
        /// <returns></returns>
        public ResourceRequest GetResourceRequest(string uri, ResourceStrategyType resourceStrategyType, NetworkResourceArguments args)
        {
            if (string.IsNullOrEmpty(uri))
            {
                throw new ArgumentNullException("uri");
            }

            // return default value
            ResourceRequest resourceRequest = new ResourceRequest(uri, resourceStrategyType, args);

            return(resourceRequest);
        }
 /// <summary>
 /// Returns Resource Request for specified cache with default resource strategy
 /// </summary>
 /// <returns></returns>
 public ResourceRequest GetResourceRequest(string uri, NetworkResourceArguments args)
 {
     // return default value
     return(GetResourceRequest(uri, DefaultResourceStrategyType, args));
 }
 internal ResourceRequest(string uri, ResourceStrategyType resourceStrategyType, NetworkResourceArguments args)
 {
     Uri = uri;
     ResourceStrategyType     = resourceStrategyType;
     NetworkResourceArguments = args;
 }