Skip to content

Commit e014381

Browse files
committed
Fix HttpWebRequestConnection running under netcoreapp
The following is not allowed to be set anymore request.MaximumResponseHeadersLength = -1; Further more we need to explicitly provide a proxy for this IConnection when the tests are automatically routing through fiddler by using ipv4.fiddler
1 parent e44168c commit e014381

File tree

6 files changed

+15
-9
lines changed

6 files changed

+15
-9
lines changed

src/Elasticsearch.Net/Connection/HttpWebRequestConnection.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,9 @@ protected virtual HttpWebRequest CreateWebRequest(RequestData requestData)
5757

5858
request.Accept = requestData.Accept;
5959
request.ContentType = requestData.RequestMimeType;
60+
#if !DOTNETCORE
6061
request.MaximumResponseHeadersLength = -1;
62+
#endif
6163
request.Pipelined = requestData.Pipelined;
6264

6365
if (requestData.HttpCompression)

src/Tests/Tests.ClusterLauncher/ClusterLaunchProgram.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ private static Type[] GetClusters()
7171

7272
try
7373
{
74-
types = typeof(ClusterLaunchProgram).GetTypeInfo().Assembly.GetTypes();
74+
types = typeof(INestTestCluster).GetTypeInfo().Assembly.GetTypes();
7575
}
7676
catch (ReflectionTypeLoadException e)
7777
{

src/Tests/Tests.Configuration/tests.default.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,4 @@ elasticsearch_version: 6.3.0
1818
test_against_already_running_elasticsearch: true
1919

2020
#random_source_serializer: true
21-
seed: 69819
21+
seed: 46221

src/Tests/Tests.Core/Client/Settings/TestConnectionSettings.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ public TestConnectionSettings(
3838
: ConnectionConfiguration.DefaultConnectionLimit;
3939

4040
internal ConnectionSettings ApplyTestSettings() => this
41+
.ApplyFiddlerProxyWhenNeeded()
4142
//TODO make this random
4243
//.EnableHttpCompression()
4344
#if DEBUG
@@ -53,6 +54,13 @@ internal ConnectionSettings ApplyTestSettings() => this
5354
foreach (var d in r.DeprecationWarnings) XunitRunState.SeenDeprecations.Add(d);
5455
});
5556

57+
private ConnectionSettings ApplyFiddlerProxyWhenNeeded()
58+
{
59+
if (!TestConfiguration.Instance.Random.OldConnection) return this;
60+
if (!RunningFiddler) return this;
61+
return this.Proxy(new Uri("http://localhost:8888"), null, null);
62+
}
63+
5664
private static SourceSerializerFactory CreateSerializerFactory(SourceSerializerFactory provided)
5765
{
5866
if (provided != null) return provided;

src/Tests/Tests.Core/Extensions/EphemeralClusterExtensions.cs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,10 @@ namespace Tests.Core.Extensions
1010
{
1111
public static class EphemeralClusterExtensions
1212
{
13-
public static ConnectionSettings CreateConnectionSettings<TConfig>(
14-
this IEphemeralCluster<TConfig> cluster
15-
)
13+
public static ConnectionSettings CreateConnectionSettings<TConfig>(this IEphemeralCluster<TConfig> cluster)
1614
where TConfig : EphemeralClusterConfiguration
1715
{
18-
var clusterNodes = cluster.NodesUris(TestConnectionSettings.LocalOrProxyHost);
19-
//we ignore the uri's that TestConnection provides and seed with the nodes the cluster dictates.
20-
return new TestConnectionSettings(uris => new StaticConnectionPool(clusterNodes));
16+
return new TestConnectionSettings();
2117
}
2218

2319
public static IElasticClient GetOrAddClient<TConfig>(

src/Tests/Tests.Core/ManagedElasticsearch/Clusters/ClientTestClusterBase.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public ClientTestClusterBase(params ElasticsearchPlugin[] plugins) : this(new Cl
2424

2525
public ClientTestClusterBase(ClientTestClusterConfiguration configuration) : base(configuration) { }
2626

27-
public IElasticClient Client => this.GetOrAddClient(s=> this.ConnectionSettings(ConnectionSettingsExtensions.ApplyDomainSettings(s)));
27+
public IElasticClient Client => this.GetOrAddClient(s=> this.ConnectionSettings(s.ApplyDomainSettings()));
2828

2929
protected virtual ConnectionSettings ConnectionSettings(ConnectionSettings s) => s;
3030

0 commit comments

Comments
 (0)