mirror of
				https://github.com/nsnail/Ocelot.git
				synced 2025-11-04 15:10:50 +08:00 
			
		
		
		
	Add DownstreamHttpMethodCreatorMiddleware
This commit is contained in:
		@@ -2,14 +2,14 @@
 | 
				
			|||||||
using Ocelot.Middleware;
 | 
					using Ocelot.Middleware;
 | 
				
			||||||
using System.Threading.Tasks;
 | 
					using System.Threading.Tasks;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace Ocelot.DownstreamUrlCreator.Middleware
 | 
					namespace Ocelot.DownstreamMethodTransformer.Middleware
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    public class DownstreamHttpMethodCreatorMiddleware : OcelotMiddleware
 | 
					    public class DownstreamMethodTransformerMiddleware : OcelotMiddleware
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        private readonly OcelotRequestDelegate _next;
 | 
					        private readonly OcelotRequestDelegate _next;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public DownstreamHttpMethodCreatorMiddleware(OcelotRequestDelegate next, IOcelotLoggerFactory loggerFactory)
 | 
					        public DownstreamMethodTransformerMiddleware(OcelotRequestDelegate next, IOcelotLoggerFactory loggerFactory)
 | 
				
			||||||
            : base(loggerFactory.CreateLogger<DownstreamHttpMethodCreatorMiddleware>())
 | 
					            : base(loggerFactory.CreateLogger<DownstreamMethodTransformerMiddleware>())
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            _next = next;
 | 
					            _next = next;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@@ -2,6 +2,7 @@
 | 
				
			|||||||
using Ocelot.Authorisation.Middleware;
 | 
					using Ocelot.Authorisation.Middleware;
 | 
				
			||||||
using Ocelot.Cache.Middleware;
 | 
					using Ocelot.Cache.Middleware;
 | 
				
			||||||
using Ocelot.Claims.Middleware;
 | 
					using Ocelot.Claims.Middleware;
 | 
				
			||||||
 | 
					using Ocelot.DownstreamMethodTransformer.Middleware;
 | 
				
			||||||
using Ocelot.DownstreamRouteFinder.Middleware;
 | 
					using Ocelot.DownstreamRouteFinder.Middleware;
 | 
				
			||||||
using Ocelot.DownstreamUrlCreator.Middleware;
 | 
					using Ocelot.DownstreamUrlCreator.Middleware;
 | 
				
			||||||
using Ocelot.Errors.Middleware;
 | 
					using Ocelot.Errors.Middleware;
 | 
				
			||||||
@@ -68,6 +69,9 @@ namespace Ocelot.Middleware.Pipeline
 | 
				
			|||||||
            // Initialises downstream request
 | 
					            // Initialises downstream request
 | 
				
			||||||
            builder.UseDownstreamRequestInitialiser();
 | 
					            builder.UseDownstreamRequestInitialiser();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            //change Http Method
 | 
				
			||||||
 | 
					            builder.UseMiddleware<DownstreamMethodTransformerMiddleware>();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // We check whether the request is ratelimit, and if there is no continue processing
 | 
					            // We check whether the request is ratelimit, and if there is no continue processing
 | 
				
			||||||
            builder.UseRateLimiting();
 | 
					            builder.UseRateLimiting();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -53,7 +53,6 @@ namespace Ocelot.Request.Middleware
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            _request.RequestUri = uriBuilder.Uri;
 | 
					            _request.RequestUri = uriBuilder.Uri;
 | 
				
			||||||
            _request.Method = new HttpMethod(Method);
 | 
					            _request.Method = new HttpMethod(Method);
 | 
				
			||||||
            _request.Content = Content;
 | 
					 | 
				
			||||||
            return _request;
 | 
					            return _request;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -9,7 +9,7 @@ namespace Ocelot.Request.Middleware
 | 
				
			|||||||
        public static IOcelotPipelineBuilder UseDownstreamRequestInitialiser(this IOcelotPipelineBuilder builder)
 | 
					        public static IOcelotPipelineBuilder UseDownstreamRequestInitialiser(this IOcelotPipelineBuilder builder)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            return builder.UseMiddleware<DownstreamRequestInitialiserMiddleware>()
 | 
					            return builder.UseMiddleware<DownstreamRequestInitialiserMiddleware>()
 | 
				
			||||||
                .UseMiddleware<DownstreamHttpMethodCreatorMiddleware>();
 | 
					                .UseMiddleware<DownstreamMethodTransformerMiddleware>();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user