/// <summary>
        /// Initializes a module and prepares it to handle requests.
        /// </summary>
        /// <param name="application">
        /// An <see cref="T:System.Web.HttpApplication"/> that provides
        /// access to the methods, properties, and events common to all
        /// application objects within an ASP.NET application
        /// </param>
        public void Init(HttpApplication application)
        {
            if (preserveExifMetaData == null)
            {
                preserveExifMetaData = ImageProcessorConfiguration.Instance.PreserveExifMetaData;
            }

            if (allowCacheBuster == null)
            {
                allowCacheBuster = ImageProcessorConfiguration.Instance.AllowCacheBuster;
            }

            if (fixGamma == null)
            {
                fixGamma = ImageProcessorConfiguration.Instance.FixGamma;
            }

            if (interceptAllRequests == null)
            {
                interceptAllRequests = ImageProcessorConfiguration.Instance.InterceptAllRequests;
            }

            EventHandlerTaskAsyncHelper postAuthorizeHelper = new EventHandlerTaskAsyncHelper(this.PostAuthorizeRequest);
            application.AddOnPostAuthorizeRequestAsync(postAuthorizeHelper.BeginEventHandler, postAuthorizeHelper.EndEventHandler);

            application.PostReleaseRequestState += this.PostReleaseRequestState;

            EventHandlerTaskAsyncHelper onEndRquestsHelper = new EventHandlerTaskAsyncHelper(this.OnEndRequest);
            application.AddOnEndRequestAsync(onEndRquestsHelper.BeginEventHandler, onEndRquestsHelper.EndEventHandler);
        }
        /// <summary>
        /// Initializes a module and prepares it to handle requests.
        /// </summary>
        /// <param name="context">
        /// An <see cref="T:System.Web.HttpApplication"/> that provides
        /// access to the methods, properties, and events common to all
        /// application objects within an ASP.NET application
        /// </param>
        public void Init(HttpApplication context)
        {
            if (preserveExifMetaData == null)
            {
                preserveExifMetaData = ImageProcessorConfiguration.Instance.PreserveExifMetaData;
            }

            EventHandlerTaskAsyncHelper postAuthorizeHelper = new EventHandlerTaskAsyncHelper(this.PostAuthorizeRequest);
            context.AddOnPostAuthorizeRequestAsync(postAuthorizeHelper.BeginEventHandler, postAuthorizeHelper.EndEventHandler);

            context.PostReleaseRequestState += this.PostReleaseRequestState;

            EventHandlerTaskAsyncHelper postProcessHelper = new EventHandlerTaskAsyncHelper(this.PostProcessImage);
            context.AddOnEndRequestAsync(postProcessHelper.BeginEventHandler, postProcessHelper.EndEventHandler);
        }
 public void Initialize(HttpApplication application)
 {
     for (IntegratedPipelineBlueprintStage stage = _blueprint.FirstStage; stage != null; stage = stage.NextStage)
     {
         var segment = new IntegratedPipelineContextStage(this, stage);
         switch (stage.Name)
         {
             case Constants.StageAuthenticate:
                 application.AddOnAuthenticateRequestAsync(segment.BeginEvent, segment.EndEvent);
                 break;
             case Constants.StagePostAuthenticate:
                 application.AddOnPostAuthenticateRequestAsync(segment.BeginEvent, segment.EndEvent);
                 break;
             case Constants.StageAuthorize:
                 application.AddOnAuthorizeRequestAsync(segment.BeginEvent, segment.EndEvent);
                 break;
             case Constants.StagePostAuthorize:
                 application.AddOnPostAuthorizeRequestAsync(segment.BeginEvent, segment.EndEvent);
                 break;
             case Constants.StageResolveCache:
                 application.AddOnResolveRequestCacheAsync(segment.BeginEvent, segment.EndEvent);
                 break;
             case Constants.StagePostResolveCache:
                 application.AddOnPostResolveRequestCacheAsync(segment.BeginEvent, segment.EndEvent);
                 break;
             case Constants.StageMapHandler:
                 application.AddOnMapRequestHandlerAsync(segment.BeginEvent, segment.EndEvent);
                 break;
             case Constants.StagePostMapHandler:
                 application.AddOnPostMapRequestHandlerAsync(segment.BeginEvent, segment.EndEvent);
                 break;
             case Constants.StageAcquireState:
                 application.AddOnAcquireRequestStateAsync(segment.BeginEvent, segment.EndEvent);
                 break;
             case Constants.StagePostAcquireState:
                 application.AddOnPostAcquireRequestStateAsync(segment.BeginEvent, segment.EndEvent);
                 break;
             case Constants.StagePreHandlerExecute:
                 application.AddOnPreRequestHandlerExecuteAsync(segment.BeginEvent, segment.EndEvent);
                 break;
             default:
                 throw new NotSupportedException(
                     string.Format(CultureInfo.InvariantCulture, Resources.Exception_UnsupportedPipelineStage, stage.Name));
         }
     }
     // application.PreSendRequestHeaders += PreSendRequestHeaders; // Null refs for async un-buffered requests with bodies.
     application.AddOnEndRequestAsync(BeginFinalWork, EndFinalWork);
 }
示例#4
0
		public void Events_Deny_Unrestricted ()
		{
			HttpApplication app = new HttpApplication ();
			app.Disposed += new EventHandler (Handler);
			app.Error += new EventHandler (Handler);
			app.PreSendRequestContent += new EventHandler (Handler);
			app.PreSendRequestHeaders += new EventHandler (Handler);
			app.AcquireRequestState += new EventHandler (Handler);
			app.AuthenticateRequest += new EventHandler (Handler);
			app.AuthorizeRequest += new EventHandler (Handler);
			app.BeginRequest += new EventHandler (Handler);
			app.EndRequest += new EventHandler (Handler);
			app.PostRequestHandlerExecute += new EventHandler (Handler);
			app.PreRequestHandlerExecute += new EventHandler (Handler);
			app.ReleaseRequestState += new EventHandler (Handler);
			app.ResolveRequestCache += new EventHandler (Handler);
			app.UpdateRequestCache += new EventHandler (Handler);

			app.AddOnAcquireRequestStateAsync (null, null);
			app.AddOnAuthenticateRequestAsync (null, null);
			app.AddOnAuthorizeRequestAsync (null, null);
			app.AddOnBeginRequestAsync (null, null);
			app.AddOnEndRequestAsync (null, null);
			app.AddOnPostRequestHandlerExecuteAsync (null, null);
			app.AddOnPreRequestHandlerExecuteAsync (null, null);
			app.AddOnReleaseRequestStateAsync (null, null);
			app.AddOnResolveRequestCacheAsync (null, null);
			app.AddOnUpdateRequestCacheAsync (null, null);

			app.Disposed -= new EventHandler (Handler);
			app.Error -= new EventHandler (Handler);
			app.PreSendRequestContent -= new EventHandler (Handler);
			app.PreSendRequestHeaders -= new EventHandler (Handler);
			app.AcquireRequestState -= new EventHandler (Handler);
			app.AuthenticateRequest -= new EventHandler (Handler);
			app.AuthorizeRequest -= new EventHandler (Handler);
			app.BeginRequest -= new EventHandler (Handler);
			app.EndRequest -= new EventHandler (Handler);
			app.PostRequestHandlerExecute -= new EventHandler (Handler);
			app.PreRequestHandlerExecute -= new EventHandler (Handler);
			app.ReleaseRequestState -= new EventHandler (Handler);
			app.ResolveRequestCache -= new EventHandler (Handler);
			app.UpdateRequestCache -= new EventHandler (Handler);
#if NET_2_0
			app.PostAuthenticateRequest += new EventHandler (Handler);
			app.PostAuthorizeRequest += new EventHandler (Handler);
			app.PostResolveRequestCache += new EventHandler (Handler);
			app.PostMapRequestHandler += new EventHandler (Handler);
			app.PostAcquireRequestState += new EventHandler (Handler);
			app.PostReleaseRequestState += new EventHandler (Handler);
			app.PostUpdateRequestCache += new EventHandler (Handler);

			app.AddOnPostAuthenticateRequestAsync (null, null);
			app.AddOnPostAuthenticateRequestAsync (null, null, null);
			app.AddOnPostAuthorizeRequestAsync (null, null);
			app.AddOnPostAuthorizeRequestAsync (null, null, null);
			app.AddOnPostResolveRequestCacheAsync (null, null);
			app.AddOnPostResolveRequestCacheAsync (null, null, null);
			app.AddOnPostMapRequestHandlerAsync (null, null);
			app.AddOnPostMapRequestHandlerAsync (null, null, null);
			app.AddOnPostAcquireRequestStateAsync (null, null);
			app.AddOnPostAcquireRequestStateAsync (null, null, null);
			app.AddOnPostReleaseRequestStateAsync (null, null);
			app.AddOnPostReleaseRequestStateAsync (null, null, null);
			app.AddOnPostUpdateRequestCacheAsync (null, null);
			app.AddOnPostUpdateRequestCacheAsync (null, null, null);

			app.AddOnAcquireRequestStateAsync (null, null, null);
			app.AddOnAuthenticateRequestAsync (null, null, null);
			app.AddOnAuthorizeRequestAsync (null, null, null);
			app.AddOnBeginRequestAsync (null, null, null);
			app.AddOnEndRequestAsync (null, null, null);
			app.AddOnPostRequestHandlerExecuteAsync (null, null, null);
			app.AddOnPreRequestHandlerExecuteAsync (null, null, null);
			app.AddOnReleaseRequestStateAsync (null, null, null);
			app.AddOnResolveRequestCacheAsync (null, null, null);
			app.AddOnUpdateRequestCacheAsync (null, null, null);

			app.PostAuthenticateRequest -= new EventHandler (Handler);
			app.PostAuthorizeRequest -= new EventHandler (Handler);
			app.PostResolveRequestCache -= new EventHandler (Handler);
			app.PostMapRequestHandler -= new EventHandler (Handler);
			app.PostAcquireRequestState -= new EventHandler (Handler);
			app.PostReleaseRequestState -= new EventHandler (Handler);
			app.PostUpdateRequestCache -= new EventHandler (Handler);
#endif
		}