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);
        }
Пример #2
0
            public void Initialize(HttpApplication context)
            {
#if NET45_OR_GREATER
                pipeline.Configuration.EnsureInitialized();
#endif

                if (!(pipeline.Builder is null))
                {
                    context.AddOnAuthorizeRequestAsync(BeginEvent, EndEvent);
                }
            }
Пример #3
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
        }
Пример #4
0
        public void RegisterEvent(HttpApplication application)
        {
            switch (ApplicationEvent)
            {
            case DynamicHttpHandlerEvent.AuthenticateRequestAsync:
                application.AddOnAuthenticateRequestAsync(asyncHandlerHelper.BeginEventHandler, asyncHandlerHelper.EndEventHandler);
                break;

            case DynamicHttpHandlerEvent.AuthorizeRequestAsync:
                application.AddOnAuthorizeRequestAsync(asyncHandlerHelper.BeginEventHandler, asyncHandlerHelper.EndEventHandler);
                break;

            case DynamicHttpHandlerEvent.BeginRequestAsync:
                application.AddOnBeginRequestAsync(asyncHandlerHelper.BeginEventHandler, asyncHandlerHelper.EndEventHandler);
                break;

            case DynamicHttpHandlerEvent.EndRequestAsync:
                application.AddOnEndRequestAsync(asyncHandlerHelper.BeginEventHandler, asyncHandlerHelper.EndEventHandler);
                break;

            case DynamicHttpHandlerEvent.LogRequestAsync:
                application.AddOnLogRequestAsync(asyncHandlerHelper.BeginEventHandler, asyncHandlerHelper.EndEventHandler);
                break;

            case DynamicHttpHandlerEvent.PostAuthenticateRequestAsync:
                application.AddOnPostAuthenticateRequestAsync(asyncHandlerHelper.BeginEventHandler, asyncHandlerHelper.EndEventHandler);
                break;

            case DynamicHttpHandlerEvent.PostAuthorizeRequestAsync:
                application.AddOnPostAuthorizeRequestAsync(asyncHandlerHelper.BeginEventHandler, asyncHandlerHelper.EndEventHandler);
                break;

            case DynamicHttpHandlerEvent.PostLogRequestAsync:
                application.AddOnPostLogRequestAsync(asyncHandlerHelper.BeginEventHandler, asyncHandlerHelper.EndEventHandler);
                break;

            case DynamicHttpHandlerEvent.BeginRequest:
                application.BeginRequest += HandleRequest;
                break;

            case DynamicHttpHandlerEvent.AuthenticateRequest:
                application.AuthenticateRequest += HandleRequest;
                break;

            case DynamicHttpHandlerEvent.PostAuthenticateRequest:
                application.PostAuthenticateRequest += HandleRequest;
                break;

            case DynamicHttpHandlerEvent.AuthorizeRequest:
                application.AuthorizeRequest += HandleRequest;
                break;

            case DynamicHttpHandlerEvent.PostAuthorizeRequest:
                application.PostAuthorizeRequest += HandleRequest;
                break;

            case DynamicHttpHandlerEvent.PostLogRequest:
                application.PostLogRequest += HandleRequest;
                break;

            case DynamicHttpHandlerEvent.LogRequest:
                application.LogRequest += HandleRequest;
                break;

            case DynamicHttpHandlerEvent.EndRequest:
                application.EndRequest += HandleRequest;
                break;

            case DynamicHttpHandlerEvent.Error:
                application.Error += HandleRequest;
                break;

            default:
                throw new ApplicationException($"Async event type '{ApplicationEvent}' not configured for registrations");
            }
        }