public async Task <DomResultItem[]> GetDomForAsync(string relativeAddress, CancellationToken ct, params string[] args) { var htmlRequest = new HtmlRequest(relativeAddress, args); try { await buffer.SendAsync(htmlRequest); string content = await htmlRequest.Task.ConfigureAwait(false); logger.LogInformation($"Received HTML for {htmlRequest.RelativeAddress}"); var items = ParseResult(content); logger.LogInformation($"Parsed HTML for {htmlRequest.RelativeAddress}"); return(items); } catch (OperationCanceledException) { logger.LogWarning($"Html retrieval for {htmlRequest.RelativeAddress} was cancelled"); return(new DomResultItem[0]); } catch (Exception ex) { logger.LogError(ex, $"Html retrieval for {htmlRequest.RelativeAddress} failed"); return(new DomResultItem[0]); } }
public async Task <IActionResult> TestTemplate() { try { // ************************************************************* // Create output using json and mustache template // ************************************************************* HtmlRequest request = new HtmlRequest() { JsonString = "{\"title\": \"Sample Template\", \"name\": \"McTesty\"}", RenderJsUrl = _configuration.GetSection("Constants").GetSection("RenderJsUrl").Value, Template = _configuration.GetSection("Constants").GetSection("SampleTemplate").Value }; string result = await TemplateHelper.RenderDocument(_nodeServices, request); // ************************************************************* // Convert results to Pdf // ************************************************************* PdfRequest pdfRequest = new PdfRequest() { Html = "<h1>" + result + "<h1>", PdfFileName = "TestTemplate" }; byte[] pdfResponse = await PdfDocument.BuildPdf(_nodeServices, pdfRequest); return(File(pdfResponse, "application/pdf")); } catch (Exception e) { Console.WriteLine(e); throw; } }
public async Task <IActionResult> GetSeniorityListPdf([FromBody] string seniorityListJson, [FromRoute] string name) { try { name = CleanName(name); string fileName = name + ".pdf"; _logger.LogInformation("GetSeniorityListPdf [FileName: {0}]", fileName); // ************************************************************* // Create output using json and mustache template // ************************************************************* if (seniorityListJson == "[]") { seniorityListJson = @"{""Empty"": ""true""}"; } HtmlRequest request = new HtmlRequest() { JsonString = seniorityListJson, RenderJsUrl = _configuration.GetSection("Constants").GetSection("RenderJsUrl").Value, Template = _configuration.GetSection("Constants").GetSection("SeniorityListTemplate").Value }; _logger.LogInformation("GetSeniorityListPdf [FileName: {0}] - Render Html", fileName); string result = await TemplateHelper.RenderDocument(_nodeServices, request); _logger.LogInformation("GetSeniorityListPdf [FileName: {0}] - Html Length: {1}", fileName, result.Length); // ************************************************************* // Convert results to Pdf // ************************************************************* PdfRequest pdfRequest = new PdfRequest() { Html = result, RenderJsUrl = _configuration.GetSection("Constants").GetSection("PdfJsUrl").Value, PdfFileName = fileName }; _logger.LogInformation("GetSeniorityListPdf [FileName: {0}] - Gen Pdf", fileName); byte[] pdfResponseBytes = await PdfDocument.BuildPdf(_nodeServices, pdfRequest, true); // convert to string and log string pdfResponse = System.Text.Encoding.Default.GetString(pdfResponseBytes); _logger.LogInformation("GetSeniorityListPdf [FileName: {0}] - Pdf Length: {1}", fileName, pdfResponse.Length); _logger.LogInformation("GetSeniorityListPdf [FileName: {0}] - Done", fileName); return(File(pdfResponseBytes, "application/pdf", fileName)); } catch (Exception e) { Console.WriteLine(e); throw; } }
/// <summary> /// Starting point in application /// </summary> /// <param name="ravenRageDatabase">Raven database service.</param> public RageClient(IRageDatabaseServerService ravenRageDatabase, IOptions <AppSettings> appSettings, ILogger <RageClient> logger, HtmlRequest client) { _logger = logger; _ravenRageDatabase = ravenRageDatabase; _client = client; var clientSettings = appSettings.Value.Configuration; DisplayInformation = clientSettings.DisplayInformation; ServersToDisplayInformationAbout = clientSettings.ServersToDisplayInformationAbout; Interval = clientSettings.Interval; _timer = new Timer(Interval); _timer.Elapsed += TimerElapsedAsync; // GetAllServersAsync(); //GetPeakPlayersForServer("51.68.154.84:22005"); //GetPeakPlayersForServerInDateRange("51.68.154.84:22005"); GetPeakPlayersForServerInDay("51.68.154.84:22005"); }
public void download(String path) { String name; String page = ""; String ext; if (max_page >= 100) { page = absolute_number(num_page, "000"); } else if (max_page >= 10) { page = absolute_number(num_page, "00"); } else if (max_page < 1000) { page = absolute_number(num_page, "0"); } if (is_chapter) { name = "chapter " + chapter + " page " + page; } else { name = "page " + page; } if (link.IndexOf("?token") != -1) { ext = link.Substring(link.LastIndexOf('.'), link.IndexOf("?token") - link.LastIndexOf('.')); } else { ext = link.Substring(link.LastIndexOf('.')); } HtmlRequest.save_image(link, path + name + ext); }
public Task <Stream> HtmlToPdfAsync(HtmlRequest request, CancellationToken cancelToken = default) => ExecuteRequestAsync(request, cancelToken);
public ServerListViewComponent(HtmlRequest request) { _request = request; }
public DocumentBuilder(HtmlRequest request) { this.Request = request ?? throw new ArgumentNullException(nameof(request)); this.Request.Content ??= new FullDocument(); }