public IActionResult GetTestRunReport(int id, [FromBody] ReportRequest request) { var reportPath = PTMKernelService.GetTestRunReport(id, request.Format, request.TestCases); var reportStream = new FileStream(reportPath, FileMode.Open, FileAccess.Read, FileShare.Read); return(new FileStreamResult(reportStream, GetMIMEType(request.Format)) { FileDownloadName = Path.GetFileName(reportPath) }); string GetMIMEType(ReportFormat format) => format switch { ReportFormat.Plain => "text/plain", ReportFormat.Json => "text/plain", ReportFormat.XUnit => "application/xml", _ => throw new InvalidOperationException($"\"{format}\" is not a valid report format.") }; }