mirror of
https://github.com/nsnail/Ocelot.git
synced 2025-06-19 05:48:16 +08:00
Support adding custom plaintext headers to downstream requests (#314)
This commit is contained in:

committed by
Tom Pallister

parent
b46ef1945d
commit
fa09e4cf7a
@ -149,7 +149,6 @@ namespace Ocelot.UnitTests.Configuration
|
||||
.Then(x => ThenTheFollowingDownstreamIsReturned(downstream))
|
||||
.BDDfy();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void should_add_trace_id_header()
|
||||
{
|
||||
@ -166,7 +165,45 @@ namespace Ocelot.UnitTests.Configuration
|
||||
this.Given(x => GivenTheReRoute(reRoute))
|
||||
.And(x => GivenTheBaseUrlIs("http://ocelot.com/"))
|
||||
.When(x => WhenICreate())
|
||||
.Then(x => ThenTheFollowingAddHeaderIsReturned(expected))
|
||||
.Then(x => ThenTheFollowingAddHeaderToDownstreamIsReturned(expected))
|
||||
.BDDfy();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void should_add_downstream_header_as_is_when_no_replacement_is_given()
|
||||
{
|
||||
var reRoute = new FileReRoute
|
||||
{
|
||||
DownstreamHeaderTransform = new Dictionary<string, string>
|
||||
{
|
||||
{"X-Custom-Header", "Value"},
|
||||
}
|
||||
};
|
||||
|
||||
var expected = new AddHeader("X-Custom-Header", "Value");
|
||||
|
||||
this.Given(x => GivenTheReRoute(reRoute))
|
||||
.And(x => WhenICreate())
|
||||
.Then(x => x.ThenTheFollowingAddHeaderToDownstreamIsReturned(expected))
|
||||
.BDDfy();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void should_add_upstream_header_as_is_when_no_replacement_is_given()
|
||||
{
|
||||
var reRoute = new FileReRoute
|
||||
{
|
||||
UpstreamHeaderTransform = new Dictionary<string, string>
|
||||
{
|
||||
{"X-Custom-Header", "Value"},
|
||||
}
|
||||
};
|
||||
|
||||
var expected = new AddHeader("X-Custom-Header", "Value");
|
||||
|
||||
this.Given(x => GivenTheReRoute(reRoute))
|
||||
.And(x => WhenICreate())
|
||||
.Then(x => x.ThenTheFollowingAddHeaderToUpstreamIsReturned(expected))
|
||||
.BDDfy();
|
||||
}
|
||||
|
||||
@ -180,11 +217,17 @@ namespace Ocelot.UnitTests.Configuration
|
||||
_placeholders.Setup(x => x.Get(It.IsAny<string>())).Returns(new ErrorResponse<string>(new AnyError()));
|
||||
}
|
||||
|
||||
private void ThenTheFollowingAddHeaderIsReturned(AddHeader addHeader)
|
||||
private void ThenTheFollowingAddHeaderToDownstreamIsReturned(AddHeader addHeader)
|
||||
{
|
||||
_result.AddHeadersToDownstream[0].Key.ShouldBe(addHeader.Key);
|
||||
_result.AddHeadersToDownstream[0].Value.ShouldBe(addHeader.Value);
|
||||
}
|
||||
|
||||
private void ThenTheFollowingAddHeaderToUpstreamIsReturned(AddHeader addHeader)
|
||||
{
|
||||
_result.AddHeadersToUpstream[0].Key.ShouldBe(addHeader.Key);
|
||||
_result.AddHeadersToUpstream[0].Value.ShouldBe(addHeader.Value);
|
||||
}
|
||||
|
||||
private void ThenTheFollowingDownstreamIsReturned(List<HeaderFindAndReplace> downstream)
|
||||
{
|
||||
|
Reference in New Issue
Block a user