public PartialEntityResponse(IHttpResponseHeaderHelper httpResponseHeaderHelper, IEnumerable<RangeItem> ranges)
        {
            this.HttpResponseHeaderHelper = httpResponseHeaderHelper;

            if (ranges.Count() == 1)
            {
                //Single byte range request
                this.ByteRangeResponse = new SingleByteRangeResponse(HttpResponseHeaderHelper, ranges.Single());
            }
            else
            {
                //Multiple byte range request
                this.ByteRangeResponse = new MultipleByteRangeResponse(HttpResponseHeaderHelper, ranges);
            }
        }
예제 #2
0
        /// <summary>
        /// Initialize the classes that can only be determined once we have a requested passed to us by the web server.
        /// </summary>
        /// <param name="context"></param>
        private void Initialize(HttpContextBase context)
        {
            if (_webServerType == WebServerType.NotSet)
            {
                _webServerType = WebServerDetector.DetectWebServerType(context);
            }

            if (_httpResponseHeaderHelper == null)
            {
                _httpResponseHeaderHelper = new HttpResponseHeaderHelper(_webServerType);
            }

            if (_httpRequestResponder == null)
            {
                _httpRequestResponder = new HttpRequestResponder(_httpRequestHeaderHelper, _httpResponseHeaderHelper);
            }
        }
 public UrlEtagHandlerTemporaryRedirect(IHttpResponseHeaderHelper httpResponseHeaderHelper, string urlEtagQuerystringName)
 {
     HttpResponseHeaderHelper = httpResponseHeaderHelper;
     UrlEtagQuerystringName = urlEtagQuerystringName;
 }
 public UrlEtagHandlerMovedPermanently(IHttpResponseHeaderHelper httpResponseHeaderHelper, string urlEtagQuerystringName)
 {
     HttpResponseHeaderHelper = httpResponseHeaderHelper;
     UrlEtagQuerystringName = urlEtagQuerystringName;
 }
 public UrlEtagHandlerContentLocation(IHttpResponseHeaderHelper httpResponseHeaderHelper, string urlEtagQuerystringName)
 {
     HttpResponseHeaderHelper = httpResponseHeaderHelper;
     UrlEtagQuerystringName = urlEtagQuerystringName;
 }
예제 #6
0
        /// <summary>
        /// Initialize the classes that can only be determined once we have a requested passed to us by the web server.
        /// </summary>
        /// <param name="context"></param>
        private void Initialize(HttpContextBase context)
        {
            if (_webServerType == WebServerType.NotSet)
            {
                _webServerType = WebServerDetector.DetectWebServerType(context);
            }

            if (_httpResponseHeaderHelper == null)
            {
                _httpResponseHeaderHelper = new HttpResponseHeaderHelper(_webServerType);
            }

            if (_httpRequestResponder == null)
            {
                _httpRequestResponder = new HttpRequestResponder(_httpRequestHeaderHelper, _httpResponseHeaderHelper);
            }
        }
예제 #7
0
 public EntityResponseSinglePart(IHttpResponseHeaderHelper httpResponseHeaderHelper, RangeItem range)
 {
     this.HttpResponseHeaderHelper = httpResponseHeaderHelper;
     this.Range = range;
 }
예제 #8
0
 public UrlEtagHandlerTemporaryRedirect(IHttpResponseHeaderHelper httpResponseHeaderHelper, string urlEtagQuerystringName)
 {
     HttpResponseHeaderHelper = httpResponseHeaderHelper;
     UrlEtagQuerystringName   = urlEtagQuerystringName;
 }
예제 #9
0
 public EntityResponseFull(IHttpResponseHeaderHelper httpResponseHeaderHelper)
 {
     this.HttpResponseHeaderHelper = httpResponseHeaderHelper;
 }
예제 #10
0
 public EntityResponseMultiPart(IHttpResponseHeaderHelper httpResponseHeaderHelper, IEnumerable<RangeItem> ranges)
 {
     this.HttpResponseHeaderHelper = httpResponseHeaderHelper;
     this.Ranges = ranges;
 }
예제 #11
0
 public HttpRequestResponder(IHttpRequestHeaderHelper httpRequestHeaderHelper, IHttpResponseHeaderHelper httpResponseHeaderHelper)
 {
     HttpRequestHeaderHelper = httpRequestHeaderHelper;
     HttpResponseHeaderHelper = httpResponseHeaderHelper;
 }
예제 #12
0
 public FullEntityResponse(IHttpResponseHeaderHelper httpResponseHeaderHelper)
 {
     this.HttpResponseHeaderHelper = httpResponseHeaderHelper;
 }
 public HttpRequestResponder(IHttpRequestHeaderHelper httpRequestHeaderHelper, IHttpResponseHeaderHelper httpResponseHeaderHelper)
 {
     HttpRequestHeaderHelper  = httpRequestHeaderHelper;
     HttpResponseHeaderHelper = httpResponseHeaderHelper;
 }
예제 #14
0
 public UrlEtagHandlerContentLocation(IHttpResponseHeaderHelper httpResponseHeaderHelper, string urlEtagQuerystringName)
 {
     HttpResponseHeaderHelper = httpResponseHeaderHelper;
     UrlEtagQuerystringName   = urlEtagQuerystringName;
 }
예제 #15
0
 public UrlEtagHandlerMovedPermanently(IHttpResponseHeaderHelper httpResponseHeaderHelper, string urlEtagQuerystringName)
 {
     HttpResponseHeaderHelper = httpResponseHeaderHelper;
     UrlEtagQuerystringName   = urlEtagQuerystringName;
 }
예제 #16
0
 public SingleByteRangeResponse(IHttpResponseHeaderHelper httpResponseHeaderHelper, RangeItem range)
 {
     this.HttpResponseHeaderHelper = httpResponseHeaderHelper;
     this.range = range;
 }
 public EntityResponseMultiPart(IHttpResponseHeaderHelper httpResponseHeaderHelper, IEnumerable <RangeItem> ranges)
 {
     this.HttpResponseHeaderHelper = httpResponseHeaderHelper;
     this.Ranges = ranges;
 }
 public MultipleByteRangeResponse(IHttpResponseHeaderHelper httpResponseHeaderHelper, IEnumerable<RangeItem> ranges)
 {
     this.HttpResponseHeaderHelper = httpResponseHeaderHelper;
     this.Ranges = ranges;
 }
예제 #19
0
 public EntityResponseSinglePart(IHttpResponseHeaderHelper httpResponseHeaderHelper, RangeItem range)
 {
     this.HttpResponseHeaderHelper = httpResponseHeaderHelper;
     this.Range = range;
 }
예제 #20
0
 public MultipleByteRangeResponse(IHttpResponseHeaderHelper httpResponseHeaderHelper, IEnumerable <RangeItem> ranges)
 {
     this.HttpResponseHeaderHelper = httpResponseHeaderHelper;
     this.Ranges = ranges;
 }