mirror of
				https://github.com/nsnail/Ocelot.git
				synced 2025-11-04 09:15:27 +08:00 
			
		
		
		
	hacking away
This commit is contained in:
		@@ -29,31 +29,37 @@ namespace Ocelot.Middleware
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="builder"></param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        public static IApplicationBuilder UseOcelot(this IApplicationBuilder builder)
 | 
			
		||||
        public static async Task<IApplicationBuilder> UseOcelot(this IApplicationBuilder builder)
 | 
			
		||||
        {
 | 
			
		||||
            var configuration = CreateConfiguration(builder).Result;
 | 
			
		||||
 | 
			
		||||
            builder.Map(configuration.AdministrationPath, x => 
 | 
			
		||||
            {
 | 
			
		||||
               x.UseMvc();
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
            builder.UseOcelot(new OcelotMiddlewareConfiguration());
 | 
			
		||||
 | 
			
		||||
            await CreateAdministrationArea(builder);
 | 
			
		||||
 | 
			
		||||
            await builder.UseOcelot(new OcelotMiddlewareConfiguration());
 | 
			
		||||
 | 
			
		||||
            return builder;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        private static async Task CreateAdministrationArea(IApplicationBuilder builder)
 | 
			
		||||
        {
 | 
			
		||||
            var configuration = await CreateConfiguration(builder);
 | 
			
		||||
 | 
			
		||||
            if(!string.IsNullOrEmpty(configuration.AdministrationPath))
 | 
			
		||||
            {
 | 
			
		||||
                builder.Map(configuration.AdministrationPath, x => 
 | 
			
		||||
                {
 | 
			
		||||
                    x.UseMvc();
 | 
			
		||||
                });
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// Registers Ocelot with a combination of default middlewares and optional middlewares in the configuration
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="builder"></param>
 | 
			
		||||
        /// <param name="middlewareConfiguration"></param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
        public static IApplicationBuilder UseOcelot(this IApplicationBuilder builder, OcelotMiddlewareConfiguration middlewareConfiguration)
 | 
			
		||||
        public static async Task<IApplicationBuilder> UseOcelot(this IApplicationBuilder builder, OcelotMiddlewareConfiguration middlewareConfiguration)
 | 
			
		||||
        {
 | 
			
		||||
            CreateConfiguration(builder);
 | 
			
		||||
            await CreateAdministrationArea(builder);
 | 
			
		||||
            
 | 
			
		||||
            // This is registered to catch any global exceptions that are not handled
 | 
			
		||||
            builder.UseExceptionHandlerMiddleware();
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user