public bool HandleResult( IResult result, IFormatInfo outputFormat, HttpRequestBase request, HttpResponseBase response )
        {
            response.AddHeader("Accept-Ranges", "bytes");

            Range range;
            if ( !TryGetRequestedRange( request, out range ) )
            {
                return false;
            }

            if (!ValidateIfRangeHeader(request, result))
            {
                return false;
            }

            var offset = range.Start ?? 0;
            var end = range.End.HasValue ? range.End.Value : result.ContentLength - 1;
            var length = end - offset + 1;

            response.AddHeader( "Content-Range", "bytes " + offset + "-" + end + "/" + result.ContentLength );
            response.StatusCode = 206;

            result.Serve( response, offset, length );
            return true;
        }
        public bool HandleResult(IResult result, IFormatInfo outputFormat, HttpRequestBase request, HttpResponseBase response)
        {
            response.AddHeader("Accept-Ranges", "bytes");

            Range range;

            if (!TryGetRequestedRange(request, out range))
            {
                return(false);
            }

            if (!ValidateIfRangeHeader(request, result))
            {
                return(false);
            }

            var offset = range.Start ?? 0;
            var end    = range.End.HasValue ? range.End.Value : result.ContentLength - 1;
            var length = end - offset + 1;

            response.AddHeader("Content-Range", "bytes " + offset + "-" + end + "/" + result.ContentLength);
            response.StatusCode = 206;

            result.Serve(response, offset, length);
            return(true);
        }
 public bool HandleResult(IResult result, IFormatInfo outputFormat, HttpRequestBase request, HttpResponseBase response)
 {
     result.Serve(response);
     return true;
 }
Example #4
0
 public bool HandleResult(IResult result, IFormatInfo outputFormat, HttpRequestBase request, HttpResponseBase response)
 {
     result.Serve(response);
     return(true);
 }