public async Task <ActionResult> Index() { if (HttpContext.Items.ContainsKey(Constants.Route.GithubImage)) { var pageItem = HttpContext.Items[Constants.Route.GithubImage] as string; var image = await gitHubFileLogic.LoadImageAsync(pageItem.ToLower()); return(File(image, GetImageMimeType(pageItem))); } try { var page = "Index"; var isDefaultPage = true; if (HttpContext.Items.ContainsKey(Constants.Route.GithubPage)) { var pageItem = HttpContext.Items[Constants.Route.GithubPage] as string; if (settings.ReloadGitHubPassword.Equals(pageItem, StringComparison.Ordinal)) { await gitHubFileLogic.UpdateFilesAsync(); } else if (!"README".Equals(pageItem, StringComparison.OrdinalIgnoreCase)) { page = pageItem; isDefaultPage = false; } } (var title, var pageContent) = await gitHubFileLogic.LoadFileWithTitle($"{page.ToLower()}.md"); ViewData["Title"] = isDefaultPage || title.IsNullOrEmpty() ? "Docs" : $"Docs - {title}"; var sidebar = await gitHubFileLogic.LoadFileAsync("_sidebar.md"); return(View("GitHubFile", new GitHubFileViewModel { PageContent = pageContent, Sidebar = sidebar })); } catch (RequestFailedException ex) { logger.LogError(ex, $"Unable to load FoxIDs path '{Request.Path}'."); return(RedirectToAction()); } }