Esempio n. 1
0
 public JasonDelegatingHandler(String correlationIdHeader, IJasonServerConfiguration configuration, Func <HttpRequestMessage, Object, HttpResponseMessage> defaultExecutor, HttpConfiguration httpConfiguration)
 {
     this.correlationIdHeader = correlationIdHeader;
     this.configuration       = configuration;
     this.defaultExecutor     = defaultExecutor;
     this.httpConfiguration   = httpConfiguration;
 }
Esempio n. 2
0
 public JasonDelegatingHandler( String correlationIdHeader, IJasonServerConfiguration configuration, Func<HttpRequestMessage, Object, HttpResponseMessage> defaultExecutor, HttpConfiguration httpConfiguration )
 {
     this.correlationIdHeader = correlationIdHeader;
     this.configuration = configuration;
     this.defaultExecutor = defaultExecutor;
     this.httpConfiguration = httpConfiguration;
 }
        public WebApiCommandDispatcher(ICommandExecutionRetryPolicy retryPolicy, ICommandHandlerProvider handlerProvider, IInterceptorProvider interceptorProvider, IValidatorsProvider validatorsProvider, IJasonServerConfiguration configuration)
        {
            this.handlerProvider     = handlerProvider;
            this.retryPolicy         = retryPolicy;
            this.interceptorProvider = interceptorProvider;
            this.validatorsProvider  = validatorsProvider;
            this.configuration       = configuration;

            logger.Debug("WebApiCommandDispatcher.ctor");
        }
Esempio n. 4
0
        public WebApiCommandDispatcher( ICommandExecutionRetryPolicy retryPolicy, ICommandHandlerProvider handlerProvider, IInterceptorProvider interceptorProvider, IValidatorsProvider validatorsProvider, IJasonServerConfiguration configuration )
        {
            this.handlerProvider = handlerProvider;
            this.retryPolicy = retryPolicy;
            this.interceptorProvider = interceptorProvider;
            this.validatorsProvider = validatorsProvider;
            this.configuration = configuration;

            logger.Debug( "WebApiCommandDispatcher.ctor" );
        }
Esempio n. 5
0
        public void Initialize( IJasonServerConfiguration configuration, IEnumerable<Type> types )
        {
            configuration.Container.RegisterAsTransient( new[] { typeof( IWorkerService ) }, this.WorkerServiceType );

            types.Where( t =>
            {
                return ( !t.IsGenericType && t.IsAttributeDefined<Jason.Configuration.ServiceKnownTypeAttribute>( true ) )
                    || this.CommandsSelector( t );
            } )
            .ForEach( t => ServiceKnownTypesProvider.RegisterKnownType( t ) );

            if ( this.EnableSelfHosting )
            {
                this.host = new BasicDependencyInjectionServiceHost( configuration.Container, this.WorkerServiceType );
                this.host.Open();
            }
        }
Esempio n. 6
0
        public void Initialize(IJasonServerConfiguration configuration, IEnumerable <Type> types)
        {
            configuration.Container.RegisterAsTransient(new[] { typeof(IWorkerService) }, this.WorkerServiceType);

            types.Where(t =>
            {
                return((!t.IsGenericType && t.IsAttributeDefined <Jason.Configuration.ServiceKnownTypeAttribute>(true)) ||
                       this.CommandsSelector(t));
            })
            .ForEach(t => ServiceKnownTypesProvider.RegisterKnownType(t));

            if (this.EnableSelfHosting)
            {
                this.host = new BasicDependencyInjectionServiceHost(configuration.Container, this.WorkerServiceType);
                this.host.Open();
            }
        }
Esempio n. 7
0
        public void Initialize(IJasonServerConfiguration configuration, IEnumerable <Type> types)
        {
            //configuration.Container.RegisterAsTransient( new[] { typeof( JasonController ) }, typeof( JasonController ) );
            configuration.Container.RegisterAsTransient(new[] { typeof(IWebApiRequestExecutor) }, typeof(WebApiRequestExecutor));
            configuration.Container.RegisterAsTransient(new[] { typeof(IWebApiCommandDispatcher) }, typeof(WebApiCommandDispatcher));
            configuration.Container.RegisterAsTransient(new[] { typeof(IWebApiJobDispatcher) }, typeof(WebApiJobDispatcher));

            Func <HttpRequestMessage, Object, HttpResponseMessage> defaultExecutor = (request, cmd) =>
            {
                var executor = configuration.Container.Resolve <IWebApiRequestExecutor>();
                var result   = executor.Handle(request, cmd);

                return(result);
            };

            this.httpConfiguration.MessageHandlers.Add(new JasonDelegatingHandler(this.CorrelationIdHeaderName, configuration, defaultExecutor, this.httpConfiguration));

            var allCommands = types.Where(this.IsCommandConvention);

            foreach (var cmdType in allCommands)
            {
                this.mapper.CreateMapping(cmdType);
            }

            if (this.TypeNameHandling.HasValue)
            {
                this.httpConfiguration
                .Formatters
                .JsonFormatter
                .SerializerSettings
                .TypeNameHandling = this.TypeNameHandling.Value;
            }

            if (!this.httpConfiguration.Filters.OfType <JasonWebApiActionFilter>().Any())
            {
                var filter = new JasonWebApiActionFilter(this.CorrelationIdHeaderName, configuration, defaultExecutor);

                this.httpConfiguration.Filters.Add(filter);
            }
        }
 public WebApiRequestExecutor(IJasonServerConfiguration configuration, IWebApiCommandDispatcher commandDispatcher, IWebApiJobDispatcher jobDispatcher)
 {
     this.configuration     = configuration;
     this.commandDispatcher = commandDispatcher;
     this.jobDispatcher     = jobDispatcher;
 }
Esempio n. 9
0
 public void Initialize( IJasonServerConfiguration configuration, IEnumerable<Type> types )
 {
     configuration.Container.RegisterAsTransient( new[] { typeof( IWorkerServiceClientFactory ) }, typeof( DefaultWorkerServiceClientFactory ) );
 }
Esempio n. 10
0
 public void Initialize(IJasonServerConfiguration configuration, IEnumerable <Type> types)
 {
     configuration.Container.RegisterAsTransient(new[] { typeof(IWorkerServiceClientFactory) }, typeof(DefaultWorkerServiceClientFactory));
 }
Esempio n. 11
0
 public DefaultValidatorsProvider(IJasonDependencyResolver container, IJasonServerConfiguration configuration)
 {
     this.container     = container;
     this.configuration = configuration;
 }
Esempio n. 12
0
 public DefaultValidatorsProvider( IJasonDependencyResolver container, IJasonServerConfiguration configuration )
 {
     this.container = container;
     this.configuration = configuration;
 }
 public JasonWebApiActionFilter(String correlationIdHeader, IJasonServerConfiguration configuration, Func <HttpRequestMessage, Object, HttpResponseMessage> defaultExecutor)
 {
     this.correlationIdHeader = correlationIdHeader;
     this.configuration       = configuration;
     this.defaultExecutor     = defaultExecutor;
 }
Esempio n. 14
0
 public WebApiRequestExecutor( IJasonServerConfiguration configuration, IWebApiCommandDispatcher commandDispatcher, IWebApiJobDispatcher jobDispatcher )
 {
     this.configuration = configuration;
     this.commandDispatcher = commandDispatcher;
     this.jobDispatcher = jobDispatcher;
 }
 public DefaultCommandHandleProvider( IJasonDependencyResolver container, IJasonServerConfiguration configuration )
 {
     this.container = container;
     this.configuration = configuration;
 }
Esempio n. 16
0
        public void Initialize( IJasonServerConfiguration configuration, IEnumerable<Type> types )
        {
            //configuration.Container.RegisterAsTransient( new[] { typeof( JasonController ) }, typeof( JasonController ) );
            configuration.Container.RegisterAsTransient( new[] { typeof( IWebApiRequestExecutor ) }, typeof( WebApiRequestExecutor ) );
            configuration.Container.RegisterAsTransient( new[] { typeof( IWebApiCommandDispatcher ) }, typeof( WebApiCommandDispatcher ) );
            configuration.Container.RegisterAsTransient( new[] { typeof( IWebApiJobDispatcher ) }, typeof( WebApiJobDispatcher ) );

            Func<HttpRequestMessage, Object, HttpResponseMessage> defaultExecutor = ( request, cmd ) =>
            {
                var executor = configuration.Container.Resolve<IWebApiRequestExecutor>();
                var result = executor.Handle( request, cmd );

                return result;
            };

            this.httpConfiguration.MessageHandlers.Add( new JasonDelegatingHandler( this.CorrelationIdHeaderName, configuration, defaultExecutor, this.httpConfiguration ) );

            var allCommands = types.Where( this.IsCommandConvention );
            foreach( var cmdType in allCommands )
            {
                this.mapper.CreateMapping( cmdType );
            }

            if( this.TypeNameHandling.HasValue )
            {
                this.httpConfiguration
                    .Formatters
                    .JsonFormatter
                    .SerializerSettings
                    .TypeNameHandling = this.TypeNameHandling.Value;
            }

            if( !this.httpConfiguration.Filters.OfType<JasonWebApiActionFilter>().Any() )
            {
                var filter = new JasonWebApiActionFilter( this.CorrelationIdHeaderName, configuration, defaultExecutor );

                this.httpConfiguration.Filters.Add( filter );
            }
        }
Esempio n. 17
0
 public JasonWebApiActionFilter( String correlationIdHeader, IJasonServerConfiguration configuration, Func<HttpRequestMessage, Object, HttpResponseMessage> defaultExecutor )
 {
     this.correlationIdHeader = correlationIdHeader;
     this.configuration = configuration;
     this.defaultExecutor = defaultExecutor;
 }
Esempio n. 18
0
 public DefaultCommandHandleProvider(IJasonDependencyResolver container, IJasonServerConfiguration configuration)
 {
     this.container     = container;
     this.configuration = configuration;
 }