Пример #1
0
 public static ConfigurationDsl UseStructureMapContainer(
     this ConfigurationDsl configuration,
     Action <ConfigurationExpression> configure = null)
 {
     return(configuration.UseContainer(configure == null ?
                                       new Container() : new Container(configure)));
 }
Пример #2
0
 public static ConfigurationDsl UseStructureMapContainer <TRegistry>(
     this ConfigurationDsl configuration,
     HttpConfiguration httpConfiguration)
     where TRegistry : global::StructureMap.Registry, new()
 {
     return(configuration.UseStructureMapContainer(httpConfiguration,
                                                   x => x.AddRegistry <TRegistry>()));
 }
Пример #3
0
        private static void Configure(ConfigurationDsl configuration,
                                      Action <ConfigurationDsl> configure)
        {
            configure?.Invoke(configuration);

            configuration
            .WithPathProvider <OwinPathProvider>()
            .WithRequestPropertyProvider <OwinRequestPropertyProvider>();
        }
Пример #4
0
        public static ConfigurationDsl UseStructureMapContainer(
            this ConfigurationDsl configuration,
            HttpConfiguration httpConfiguration,
            Action <ConfigurationExpression> configure = null)
        {
            var container = configure == null ? new Container() : new Container(configure);

            httpConfiguration.DependencyResolver = container;
            return(configuration.UseContainer(container));
        }
Пример #5
0
        public static ConfigurationDsl UseStructureMapContainer(this
                                                                ConfigurationDsl configuration, global::StructureMap.IContainer container,
                                                                bool isDependencyResolver = true)
        {
            var graphiteContainer = new Container(container);

            if (isDependencyResolver)
            {
                configuration.ConfigureWebApi(x => x.Configuration
                                              .DependencyResolver = graphiteContainer);
            }
            return(configuration.UseContainer(graphiteContainer));
        }
Пример #6
0
        public static ConfigurationDsl UseStructureMapContainer(
            this ConfigurationDsl configuration,
            Action <ConfigurationExpression> configure = null,
            bool isDependencyResolver = true)
        {
            var container = configure == null ? new Container() : new Container(configure);

            if (isDependencyResolver)
            {
                configuration.ConfigureWebApi(x => x.Configuration
                                              .DependencyResolver = container);
            }
            return(configuration.UseContainer(container));
        }
Пример #7
0
        public static ConfigurationDsl UseBender(
            this ConfigurationDsl configuration, Action <OptionsDsl> configure = null)
        {
            var options = new Options();

            configure?.Invoke(new OptionsDsl(options));
            return(configuration
                   .ConfigureRequestReaders(x => x
                                            .Replace <Readers.JsonReader>()
                                            .With <JsonReader>(singleton: true))
                   .ConfigureResponseWriters(x => x
                                             .Replace <Writers.JsonWriter>()
                                             .With <JsonWriter>(singleton: true))
                   .ConfigureRegistry(x => x.Register(options)));
        }
Пример #8
0
        public static ConfigurationDsl EnableCors(
            this ConfigurationDsl configuration, Action <CorsConfigurationDsl> configure = null)
        {
            var corsConfiguration = new CorsConfiguration();

            configure?.Invoke(new CorsConfigurationDsl(corsConfiguration));
            return(configuration
                   .ConfigureHttpRouteDecorators(x => x
                                                 .Append <OptionsRouteDecorator>(a => corsConfiguration.PolicySources.ThatApplyTo(a).Any()))
                   .ConfigureBehaviors(x => x
                                       .Prepend <CorsBehavior>(a => corsConfiguration.PolicySources.ThatApplyTo(a).Any()))
                   .ConfigureRegistry(x => x
                                      .Register(corsConfiguration)
                                      .RegisterPlugin(corsConfiguration.CorsEngine)
                                      .RegisterPlugins(corsConfiguration.PolicySources)));
        }
Пример #9
0
        public static ConfigurationDsl EnableViews(
            this ConfigurationDsl configuration,
            Action <ViewConfigurationDsl> configure = null)
        {
            var viewConfiguration = new ViewConfiguration();

            configure?.Invoke(new ViewConfigurationDsl(viewConfiguration));
            configuration
            .ConfigureActionDecorators(x => x
                                       .Append <ViewDecorator>())
            .ConfigureRegistry(x => x
                               .Register(RazorEngineService.Create(
                                             viewConfiguration.RazorConfiguration))
                               .Register(viewConfiguration)
                               .RegisterPlugins(viewConfiguration.ViewEngines)
                               .RegisterPlugins(viewConfiguration.ViewSources));

            return(configuration);
        }
Пример #10
0
 public static void Configure(ConfigurationDsl configure)
 {
     configure
     .ClearAssemblies()
     .IncludeThisAssembly()
     .EnableDiagnosticsInDebugMode()
     .ConfigureWebApi(x => x
                      .RouteExistingFiles()
                      .SetExceptionHandler <DebugExceptionHandler>())
     //.ConfigureSerialization(s => s
     //    .Json(j => j.UseCamelCaseNaming())
     //    .Xml(x => x
     //        .Reader(r => r.IgnoreComments = true)
     //        .Writer(w => w.Indent = true)))
     .UseStructureMapContainer <Registry>()
     .ConfigureActionDecorators(d => d.Append <TestActionDecorator>())
     .BindCookies()
     .BindRequestInfo()
     .BindHeaders()
     .BindContainer()
     .EnableViews()
     .ConfigureHttpRouteDecorators(x => x
                                   .Append <RoutingTestHandler.HttpRouteDecorator>(d => d
                                                                                   .ActionMethod.Name.Contains("Decorator")))
     .ConfigureAuthenticators(x => x
                              .Append <TestBearerTokenAuthenticator>()
                              .Append <TestBasicAuthenticator>(a => a.ActionMethod.Name.EndsWith("BasicSecure")))
     .ConfigureBehaviors(b => b
                         .Append <AuthenticationBehavior>(a => a.ActionMethod.Name.EndsWith("Secure"))
                         .Append <Behavior1>()
                         .Append <Behavior2>())
     .EnableCors(x => x
                 .AppendPolicy(p => p
                               .AllowOrigins("http://fark.com")
                               .AllowAnyMethod()
                               .AppliesWhen(a => a.ActionMethod.Name == "GetCorsPolicy1"))
                 .AppendPolicy(p => p
                               .AllowOrigins("http://farker.com")
                               .AllowAnyMethod()
                               .AppliesWhen(a => a.ActionMethod.Name == "GetCorsPolicy2")));
 }
Пример #11
0
 public static ConfigurationDsl UseStructureMapContainer(this
                                                         ConfigurationDsl configuration, global::StructureMap.IContainer container)
 {
     return(configuration.UseContainer(new Container(container)));
 }
Пример #12
0
 public static ConfigurationDsl UseGraphite(this ConfigurationDsl configurationDsl)
 {
     configurationDsl.WithApiExplorer <GraphiteApiExplorer>();
     return(configurationDsl);
 }
Пример #13
0
 public void Setup()
 {
     _configuration = new Configuration();
     _dsl           = new ConfigurationDsl(_configuration, null);
 }