Bombsquad.DynamicMedia.DynamicMediaHandlerBase.TryGetResult C# (CSharp) Method

TryGetResult() private method

private TryGetResult ( System.Web.HttpRequestBase request, IFormatInfo outputFormat, bool transformMedia, IMediaTransformer mediaTransformer, IResult &result ) : bool
request System.Web.HttpRequestBase
outputFormat IFormatInfo
transformMedia bool
mediaTransformer IMediaTransformer
result IResult
return bool
        private bool TryGetResult( HttpRequestBase request, IFormatInfo outputFormat, bool transformMedia, IMediaTransformer mediaTransformer, out IResult result )
        {
            var path = GetRequestPath( request );
            var originalPath = GetOriginalPath( request, mediaTransformer );

            if ( MediaCache.TryServeRequestFromCache( transformMedia ? path : originalPath, outputFormat, out result ) )
            {
                return true;
            }

            IStorageFile storageFile;
            if ( !StorageBackend.TryGetStorageFile( originalPath, out storageFile ) )
            {
                return false;
            }

            if ( !transformMedia && !CacheOriginals )
            {
                result = storageFile;
                return true;
            }

            if ( transformMedia )
            {
                result = TransformMedia( storageFile.GetStream(), outputFormat, path, mediaTransformer );
                return true;
            }

            result = ServeOriginal( originalPath, storageFile, outputFormat );
            return true;
        }