public IActionResult Get() { string file = null; if (KspAuthCookie is object) { var user = KspAuthenticator.ParseAuthCookie(KspAuthCookie); file = TasksJsonFile("-" + user.Id.Value); if (!System.IO.File.Exists(file)) { file = null; } } file ??= TasksJsonFile(""); return(this.PhysicalFile(file, "text/json")); }
public async Task <IActionResult> Get() { var grafikPage = await System.IO.File.ReadAllTextAsync(Path.Combine(env.ContentRootPath, "../../frontend/public/grafik.html")); var p = new AngleSharp.Html.Parser.HtmlParser(); var grafik = p.ParseDocument(grafikPage); var kspTemplate = p.ParseDocument(await FetchBlankPage()); pageRewriter.ModifyTree(kspTemplate, "kurz"); var innerBody = grafik.Body; innerBody.Replace(kspTemplate.Body); var page = grafik.Body.QuerySelector("#page"); page.InnerHtml = ""; page.AppendNodes(innerBody.ChildNodes.ToArray()); if (KspAuthCookie is object) { var user = KspAuthenticator.ParseAuthCookie(KspAuthCookie); var metaUser = grafik.CreateElement("meta"); metaUser.SetAttribute("name", "x-ksp-uid"); metaUser.SetAttribute("content", user.Id.Value.ToString()); grafik.Head.AppendChild(metaUser); } foreach (var headElement in kspTemplate.Head.QuerySelectorAll("link, script")) { headElement.RemoveFromParent(); grafik.Head.AppendChild(headElement); } var outputHtml = new StringWriter(); grafik.ToHtml(outputHtml, new PrettyMarkupFormatter() { Indentation = "\t", NewLine = "\n" }); return(this.Content(outputHtml.ToString(), "text/html")); }