public async Task <ActionResult> Stream(string releaseId, string fileId)
        {
            if (Guid.TryParse(releaseId, out var releaseIdAsGuid) &&
                Guid.TryParse(fileId, out var fileIdAsGuid))
            {
                return(await _releaseFileService
                       .StreamFile(releaseId : releaseIdAsGuid, fileId : fileIdAsGuid)
                       .HandleFailures());
            }

            return(NotFound());
        }
Пример #2
0
        public async Task <ActionResult> Stream(string releaseId, string fileId)
        {
            if (Guid.TryParse(releaseId, out var releaseGuid) &&
                Guid.TryParse(fileId, out var fileGuid))
            {
                return(await _persistenceHelper.CheckEntityExists <Release>(releaseGuid)
                       .OnSuccessDo(release => this.CacheWithLastModified(release.Published))
                       .OnSuccess(release => _releaseFileService.StreamFile(release.Id, fileGuid))
                       .OnSuccessDo(result => this.CacheWithETag(result.FileStream.ComputeMd5Hash()))
                       .HandleFailures());
            }

            return(NotFound());
        }