Middleware Invoke multi parameters (#288)

This commit is contained in:
tangdf
2018-03-21 14:33:22 +08:00
committed by Tom Pallister
parent 1e34ac3eec
commit c79f1ecbf8
2 changed files with 32 additions and 4 deletions

View File

@ -1,4 +1,7 @@
namespace Ocelot.UnitTests.Middleware
using System;
using System.Threading.Tasks;
namespace Ocelot.UnitTests.Middleware
{
using System.Collections.Generic;
using Microsoft.AspNetCore.Hosting;
@ -80,5 +83,31 @@
_counter.ShouldBe(1);
_downstreamContext.HttpContext.Response.StatusCode.ShouldBe(404);
}
[Fact]
public void Middleware_Multi_Parameters_Invoke()
{
var provider = _services.BuildServiceProvider();
IOcelotPipelineBuilder builder = new OcelotPipelineBuilder(provider);
builder = builder.UseMiddleware<MultiParametersInvokeMiddleware>();
var del = builder.Build();
_downstreamContext = new DownstreamContext(new DefaultHttpContext());
del.Invoke(_downstreamContext);
}
private class MultiParametersInvokeMiddleware : OcelotMiddleware
{
private readonly OcelotRequestDelegate _next;
public MultiParametersInvokeMiddleware(OcelotRequestDelegate next)
{
_next = next;
}
public Task Invoke(DownstreamContext context, IServiceProvider serviceProvider)
{
return Task.CompletedTask;
}
}
}
}