Skip to content

Commit 2772ce4

Browse files
committed
all acceptance tests passing
1 parent e969e9f commit 2772ce4

23 files changed

+94
-35
lines changed

src/Ocelot/Configuration/Creator/ConfigurationCreator.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,20 +13,23 @@ public class ConfigurationCreator : IConfigurationCreator
1313
private readonly IHttpHandlerOptionsCreator _httpHandlerOptionsCreator;
1414
private readonly IAdministrationPath _adminPath;
1515
private readonly ILoadBalancerOptionsCreator _loadBalancerOptionsCreator;
16+
private readonly IVersionCreator _versionCreator;
1617

1718
public ConfigurationCreator(
1819
IServiceProviderConfigurationCreator serviceProviderConfigCreator,
1920
IQoSOptionsCreator qosOptionsCreator,
2021
IHttpHandlerOptionsCreator httpHandlerOptionsCreator,
2122
IServiceProvider serviceProvider,
22-
ILoadBalancerOptionsCreator loadBalancerOptionsCreator
23+
ILoadBalancerOptionsCreator loadBalancerOptionsCreator,
24+
IVersionCreator versionCreator
2325
)
2426
{
2527
_adminPath = serviceProvider.GetService<IAdministrationPath>();
2628
_loadBalancerOptionsCreator = loadBalancerOptionsCreator;
2729
_serviceProviderConfigCreator = serviceProviderConfigCreator;
2830
_qosOptionsCreator = qosOptionsCreator;
2931
_httpHandlerOptionsCreator = httpHandlerOptionsCreator;
32+
_versionCreator = versionCreator;
3033
}
3134

3235
public InternalConfiguration Create(FileConfiguration fileConfiguration, List<ReRoute> reRoutes)
@@ -41,14 +44,17 @@ public InternalConfiguration Create(FileConfiguration fileConfiguration, List<Re
4144

4245
var adminPath = _adminPath != null ? _adminPath.Path : null;
4346

47+
var version = _versionCreator.Create(fileConfiguration.GlobalConfiguration.DownstreamHttpVersion);
48+
4449
return new InternalConfiguration(reRoutes,
4550
adminPath,
4651
serviceProviderConfiguration,
4752
fileConfiguration.GlobalConfiguration.RequestIdKey,
4853
lbOptions,
4954
fileConfiguration.GlobalConfiguration.DownstreamScheme,
5055
qosOptions,
51-
httpHandlerOptions
56+
httpHandlerOptions,
57+
version
5258
);
5359
}
5460
}

src/Ocelot/Configuration/Creator/DynamicsCreator.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,12 @@ namespace Ocelot.Configuration.Creator
88
public class DynamicsCreator : IDynamicsCreator
99
{
1010
private readonly IRateLimitOptionsCreator _rateLimitOptionsCreator;
11+
private readonly IVersionCreator _versionCreator;
1112

12-
public DynamicsCreator(IRateLimitOptionsCreator rateLimitOptionsCreator)
13+
public DynamicsCreator(IRateLimitOptionsCreator rateLimitOptionsCreator, IVersionCreator versionCreator)
1314
{
1415
_rateLimitOptionsCreator = rateLimitOptionsCreator;
16+
_versionCreator = versionCreator;
1517
}
1618

1719
public List<ReRoute> Create(FileConfiguration fileConfiguration)
@@ -26,10 +28,13 @@ private ReRoute SetUpDynamicReRoute(FileDynamicReRoute fileDynamicReRoute, FileG
2628
var rateLimitOption = _rateLimitOptionsCreator
2729
.Create(fileDynamicReRoute.RateLimitRule, globalConfiguration);
2830

31+
var version = _versionCreator.Create(fileDynamicReRoute.DownstreamHttpVersion);
32+
2933
var downstreamReRoute = new DownstreamReRouteBuilder()
3034
.WithEnableRateLimiting(rateLimitOption.EnableRateLimiting)
3135
.WithRateLimitOptions(rateLimitOption)
3236
.WithServiceName(fileDynamicReRoute.ServiceName)
37+
.WithDownstreamHttpVersion(version)
3338
.Build();
3439

3540
var reRoute = new ReRouteBuilder()

src/Ocelot/Configuration/File/FileDynamicReRoute.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,6 @@ public class FileDynamicReRoute
44
{
55
public string ServiceName { get; set; }
66
public FileRateLimitRule RateLimitRule { get; set; }
7+
public string DownstreamHttpVersion { get; set; }
78
}
89
}

src/Ocelot/Configuration/File/FileGlobalConfiguration.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,7 @@ public FileGlobalConfiguration()
2626
public string DownstreamScheme { get; set; }
2727

2828
public FileHttpHandlerOptions HttpHandlerOptions { get; set; }
29+
30+
public string DownstreamHttpVersion { get; set; }
2931
}
3032
}

src/Ocelot/Configuration/IInternalConfiguration.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
namespace Ocelot.Configuration
44
{
5+
using System;
6+
57
public interface IInternalConfiguration
68
{
79
List<ReRoute> ReRoutes { get; }
@@ -19,5 +21,7 @@ public interface IInternalConfiguration
1921
QoSOptions QoSOptions { get; }
2022

2123
HttpHandlerOptions HttpHandlerOptions { get; }
24+
25+
Version DownstreamHttpVersion { get; }
2226
}
2327
}

src/Ocelot/Configuration/InternalConfiguration.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
namespace Ocelot.Configuration
44
{
5+
using System;
6+
57
public class InternalConfiguration : IInternalConfiguration
68
{
79
public InternalConfiguration(
@@ -12,7 +14,8 @@ public InternalConfiguration(
1214
LoadBalancerOptions loadBalancerOptions,
1315
string downstreamScheme,
1416
QoSOptions qoSOptions,
15-
HttpHandlerOptions httpHandlerOptions)
17+
HttpHandlerOptions httpHandlerOptions,
18+
Version downstreamHttpVersion)
1619
{
1720
ReRoutes = reRoutes;
1821
AdministrationPath = administrationPath;
@@ -22,6 +25,7 @@ public InternalConfiguration(
2225
DownstreamScheme = downstreamScheme;
2326
QoSOptions = qoSOptions;
2427
HttpHandlerOptions = httpHandlerOptions;
28+
DownstreamHttpVersion = downstreamHttpVersion;
2529
}
2630

2731
public List<ReRoute> ReRoutes { get; }
@@ -32,5 +36,7 @@ public InternalConfiguration(
3236
public string DownstreamScheme { get; }
3337
public QoSOptions QoSOptions { get; }
3438
public HttpHandlerOptions HttpHandlerOptions { get; }
39+
40+
public Version DownstreamHttpVersion { get; }
3541
}
3642
}

src/Ocelot/DownstreamRouteFinder/Finder/DownstreamRouteCreator.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
namespace Ocelot.DownstreamRouteFinder.Finder
22
{
3+
using System;
34
using Configuration;
45
using Configuration.Builder;
56
using Configuration.Creator;
@@ -54,6 +55,7 @@ public Response<DownstreamRoute> Get(string upstreamUrlPath, string upstreamQuer
5455
.WithQosOptions(qosOptions)
5556
.WithDownstreamScheme(configuration.DownstreamScheme)
5657
.WithLoadBalancerOptions(configuration.LoadBalancerOptions)
58+
.WithDownstreamHttpVersion(configuration.DownstreamHttpVersion)
5759
.WithUpstreamPathTemplate(upstreamPathTemplate);
5860

5961
var rateLimitOptions = configuration.ReRoutes != null

test/Ocelot.AcceptanceTests/LoadBalancerTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public LoadBalancerTests()
2727
public void should_load_balance_request_with_least_connection()
2828
{
2929
int portOne = 50591;
30-
int portTwo = 51482;
30+
int portTwo = 54483;
3131

3232
var downstreamServiceOneUrl = $"http://localhost:{portOne}";
3333
var downstreamServiceTwoUrl = $"http://localhost:{portTwo}";

test/Ocelot.AcceptanceTests/Steps.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -392,6 +392,7 @@ public void GivenOcelotIsRunningUsingConsulToStoreConfig()
392392
_ocelotServer = new TestServer(_webHostBuilder);
393393

394394
_ocelotClient = _ocelotServer.CreateClient();
395+
Thread.Sleep(1000);
395396
}
396397

397398
public void WhenIGetUrlOnTheApiGatewayWaitingForTheResponseToBeOk(string url)

test/Ocelot.Benchmarks/DownstreamRouteFinderMiddlewareBenchmarks.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public void SetUp()
5959

6060
_downstreamContext = new DownstreamContext(httpContext)
6161
{
62-
Configuration = new InternalConfiguration(new List<ReRoute>(), null, null, null, null, null, null, null)
62+
Configuration = new InternalConfiguration(new List<ReRoute>(), null, null, null, null, null, null, null, null)
6363
};
6464
}
6565

0 commit comments

Comments
 (0)