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;
}