public async Task <ActionResult> Report(string requestId) { ScanRequestHandler scanner = new ScanRequestHandler(); MalwareDeterminationResult result = await scanner.GetScanResult(requestId); var reportModel = new ReportViewModel(result); return(View(reportModel)); }
public async Task <ActionResult> Complete(string requestId) { ScanRequestHandler scanner = new ScanRequestHandler(); bool result = await scanner.TryGetScanResult(requestId); if (!result) { //The processing has not yet finished //Add a refresh header, to refresh the page in 5 seconds. Response.Headers.Add("Refresh", "5"); var model = new CompleteViewModel(); return(View(model)); } return(RedirectToAction("Report", new { requestId = requestId })); }
public ActionResult Scan(string repoId) { Guid requestId = Guid.NewGuid(); try { GitHubClient client = GetGitHubClient(); ScanRequestHandler scanner = new ScanRequestHandler(); scanner.Start(client, Convert.ToInt64(repoId), requestId); } catch (AuthorizationException) { // Either the accessToken is null or it's invalid. This redirects // to the GitHub OAuth login page. That page will redirect back to the // Authorize action. return(Redirect(GetOauthLoginUrl())); } catch (Exception ex) { } return(RedirectToAction("Complete", new { requestId = requestId })); }