public async Task <IActionResult> ScanFile( [Required][MaxFileSize] IFormFile file) { var result = await _scanResultService.CreateScanResult(); string storedFileId; await using (var uploadFileStream = file.OpenReadStream()) { storedFileId = await _scanResultService.StoreFile(file.FileName, uploadFileStream); } await _scanResultService.QueueUrlScan(result, Url.Action("Index", "Download", new { id = storedFileId }, Request?.Scheme, Request?.Host.Value)); return(CreatedAtAction("Index", "ScanResults", new { id = result.Id }, result)); }
public async Task <IActionResult> ScanFile( [Required][MaxFileSize] IFormFile file, [FromForm][IsHttpUrl(false)] string callbackUrl = null) { var result = await _scanResultService.CreateScanResult( string.IsNullOrEmpty(callbackUrl)?null : new Uri(callbackUrl)); string storedFileId; await using (var uploadFileStream = file.OpenReadStream()) { storedFileId = await _scanResultService.StoreFile(file.FileName, uploadFileStream); } await _scanResultService.QueueUrlScan(result, Url.Action("Index", "Download", new { id = storedFileId }, Request?.Scheme, Request?.Host.Value)); return(CreatedAtAction("Index", "ScanResults", new { id = result.Id }, result)); }
public async Task TestQueueUrlScan() { var result = await _resultService.CreateScanResult(); await _resultService.QueueUrlScan( result, "http://url.com"); _scanBackendService.Verify(x => x.QueueUrlScan( It.IsAny <ScanResult>(), It.IsAny <ScanBackend>(), "http://url.com"), Times.Exactly(2)); }