public async Task Invoke(IDictionary <string, object> environment) { int maxRedirects = _maxRedirects; while (maxRedirects >= 0) { await _next(environment); var response = new OwinResponse(environment); if (response.StatusCode == 302 || response.StatusCode == 301) { string url = BuildRedirectUrl(response); // Clear the env so we can make a new request environment.Clear(); // Populate the env with new request data RequestBuilder.BuildGet(environment, url); } else { break; } maxRedirects--; } }
/// <summary> /// Invoke. /// </summary> /// <param name="environment"></param> /// <returns></returns> public async Task Invoke(IDictionary <string, object> environment) { int maxRedirects = _maxRedirects; while (maxRedirects >= 0) { await _next(environment); var response = new Microsoft.Owin.OwinResponse(environment); if (response.StatusCode == 302 || response.StatusCode == 301) { string url = BuildRedirectUrl(response); environment.Clear(); RequestBuilder.BuildGet(environment, url); } else { break; } maxRedirects--; } }