internal static void EnsureRestoreUnauthorized(IDisableRedirect disableRedirect) { Contract.Assert(disableRedirect != null); HttpResponse response = disableRedirect.Response; // If there was no redirection, do nothing if (response.StatusCode != (int)HttpStatusCode.Redirect) { return; } // If the flag is set and is true, revert the redirection if (disableRedirect.ContextItems.Contains(DisableAuthenticationRedirectKey) && Convert.ToBoolean(disableRedirect.ContextItems[DisableAuthenticationRedirectKey], CultureInfo.InvariantCulture)) { response.TrySkipIisCustomErrors = true; response.ClearContent(); response.StatusCode = (int)HttpStatusCode.Unauthorized; response.RedirectLocation = null; } }