public override Task <HttpWebResponse> GetResponse(SerialilzableWebRequest request)
 {
     if (request.Method.Equals("get", StringComparison.OrdinalIgnoreCase) || request.Method.Equals("head", StringComparison.OrdinalIgnoreCase))
     {
         return(base.GetResponse(request));
     }
     else
     {
         return(stateMachine.SubmitAsync(request));
     }
 }
        public override Task <HttpWebResponse> GetResponse(SerialilzableWebRequest request)
        {
            //Trace.TraceInformation("AzureStorageProxy.GetResponse");
            bool read        = request.Method.Equals("get", StringComparison.OrdinalIgnoreCase) || request.Method.Equals("head", StringComparison.OrdinalIgnoreCase);
            var  cacheHeader = request.Headers["Cache-Control"];
            var  noCache     = cacheHeader != null && cacheHeader.Equals("no-cache", StringComparison.InvariantCultureIgnoreCase);
            var  cacheParam  = request.Query.Contains("$nocache=true");

            noCache |= cacheParam;
            if (read && !noCache)
            {
                return(base.GetResponse(request));
            }
            else
            {
                return(stateMachine.SubmitAsync(request));
            }
        }