Ejemplo n.º 1
0
        private void OnBeginRequest(object sender, EventArgs e)
        {
            var request = ((HttpApplication)sender).Context.Request;
            var origWr = (HttpWorkerRequest)_requestWorkerField.GetValue(request);
            
            if (UploadProgressUtils.IsUpload(origWr))
            {
                var s = request.RawUrl;

                if (string.IsNullOrEmpty(s))
                    return;

                if (!_isUrlWithExtension.IsMatch(s))
                    return;

                var newWr = new HttpUploadWorkerRequest(origWr);                
                _requestWorkerField.SetValue(request, newWr);
            }
        }
Ejemplo n.º 2
0
        private void OnBeginRequest(object sender, EventArgs e)
        {
            var request = ((HttpApplication)sender).Context.Request;
            var origWr  = (HttpWorkerRequest)_requestWorkerField.GetValue(request);

            if (UploadProgressUtils.IsUpload(origWr))
            {
                var s = request.RawUrl;

                if (string.IsNullOrEmpty(s))
                {
                    return;
                }

                if (!_isUrlWithExtension.IsMatch(s))
                {
                    return;
                }

                var newWr = new HttpUploadWorkerRequest(origWr);
                _requestWorkerField.SetValue(request, newWr);
            }
        }
Ejemplo n.º 3
0
        internal EntityBodyInspector(HttpUploadWorkerRequest request)
        {
            statistic = new UploadProgressStatistic();
            
            statistic.TotalBytes = request.GetTotalEntityBodyLength();

            string contentType = request.GetKnownRequestHeader(HttpWorkerRequest.HeaderContentType);

            string boundary = string.Format("--{0}\r\n", UploadProgressUtils.GetBoundary(contentType));
            _encoding = System.Text.Encoding.UTF8;

            _boundaryWaiter = new EntityBodyChunkStateWaiter(boundary, false);
            _boundaryWaiter.MeetGuard += new EventHandler<EventArgs>(boundaryWaiter_MeetGuard);
            _current = _boundaryWaiter;

            _boundaryInfoWaiter = new EntityBodyChunkStateWaiter("\r\n\r\n", true);
            _boundaryInfoWaiter.MeetGuard += new EventHandler<EventArgs>(boundaryInfoWaiter_MeetGuard);

            _formValueWaiter = new EntityBodyChunkStateWaiter("\r\n", true);
            _formValueWaiter.MeetGuard += new EventHandler<EventArgs>(formValueWaiter_MeetGuard);

            _lastCdName = string.Empty;
        }
Ejemplo n.º 4
0
        internal EntityBodyInspector(HttpUploadWorkerRequest request)
        {
            statistic = new UploadProgressStatistic();

            statistic.TotalBytes = request.GetTotalEntityBodyLength();

            string contentType = request.GetKnownRequestHeader(HttpWorkerRequest.HeaderContentType);

            string boundary = string.Format("--{0}\r\n", UploadProgressUtils.GetBoundary(contentType));

            _encoding = System.Text.Encoding.UTF8;

            _boundaryWaiter            = new EntityBodyChunkStateWaiter(boundary, false);
            _boundaryWaiter.MeetGuard += new EventHandler <EventArgs>(boundaryWaiter_MeetGuard);
            _current = _boundaryWaiter;

            _boundaryInfoWaiter            = new EntityBodyChunkStateWaiter("\r\n\r\n", true);
            _boundaryInfoWaiter.MeetGuard += new EventHandler <EventArgs>(boundaryInfoWaiter_MeetGuard);

            _formValueWaiter            = new EntityBodyChunkStateWaiter("\r\n", true);
            _formValueWaiter.MeetGuard += new EventHandler <EventArgs>(formValueWaiter_MeetGuard);

            _lastCdName = string.Empty;
        }