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

HandleGetRequest() private method

private HandleGetRequest ( HttpContext context, IResult>.Func resultWrapper ) : void
context System.Web.HttpContext
resultWrapper IResult>.Func
return void
        private void HandleGetRequest( HttpContext context, Func<IResult,IResult> resultWrapper )
        {
            var request = new HttpRequestWrapper( context.Request );
            var response = new HttpResponseWrapper( context.Response );

            var absolutePath = HttpUtility.UrlDecode( request.Url.AbsolutePath );
            var originalFormat = FormatInfoProvider.ResolveFromExtension( Path.GetExtension( absolutePath ) );

            if ( originalFormat == null )
            {
                ServeIllegalExtensionResult( response );
                return;
            }

            IMediaTransformer mediaTransformer;
            var transformMedia = MediaTransformerFactory.TryCreateTransformer( request, originalFormat, FormatInfoProvider, out mediaTransformer );
            var outputFormat = transformMedia ? mediaTransformer.OutputFormat : originalFormat;

            IResult result;
            if ( TryGetResult( request, outputFormat, transformMedia, mediaTransformer, out result ) )
            {
                result = resultWrapper( result );
                ResultHandler.HandleResult( result, outputFormat, request, response );
                result.Dispose();
            }
            else
            {
                ServeNotFoundResult( response );
            }
        }