Skip to content

Commit dde2a5b

Browse files
committed
#623 Elasticsearch.Net is now CLSCompliant
1 parent 1a17ae2 commit dde2a5b

20 files changed

+122
-122
lines changed

src/CodeGeneration/CodeGeneration.LowLevelClient/CodeGeneration.LowLevelClient.csproj

+1
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@
8080
<Compile Include="Extensions.cs" />
8181
<Compile Include="Overrides\Descriptors\DeleteWarmerDescriptorOverrides.cs" />
8282
<Compile Include="Overrides\Descriptors\PutTemplateDescriptorOverrides.cs" />
83+
<Compile Include="Overrides\Descriptors\ClearCacheDescriptorOverrides.cs" />
8384
<Compile Include="Overrides\Descriptors\SearchDescriptorOverrides.cs" />
8485
<Compile Include="Program.cs" />
8586
<Compile Include="Properties\AssemblyInfo.cs" />
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Text;
5+
6+
namespace CodeGeneration.LowLevelClient.Overrides.Descriptors
7+
{
8+
public class ClearCacheDescriptorOverrides : IDescriptorOverrides
9+
{
10+
public IEnumerable<string> SkipQueryStringParams
11+
{
12+
get
13+
{
14+
return new string[]
15+
{
16+
"fielddata"
17+
};
18+
}
19+
}
20+
}
21+
}

src/Elasticsearch.Net/Connection/ElasticsearchResponseTracer.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public class ElasticsearchResponseTracer<T> : IDisposable
1111
private readonly bool _enabled;
1212
private Stopwatch _stopwatch;
1313

14-
public ElasticsearchResponse<T> _result { get; set; }
14+
private ElasticsearchResponse<T> _result;
1515

1616
public ElasticsearchResponseTracer(bool enabled)
1717
{

src/Elasticsearch.Net/Connection/HttpConnection.cs

+20-20
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,16 @@
99
using System.Threading;
1010
using System.Threading.Tasks;
1111
using Elasticsearch.Net.Providers;
12-
using PUrify;
12+
using PurifyNet;
1313

1414
namespace Elasticsearch.Net.Connection
1515
{
1616
public class HttpConnection : IConnection
1717
{
1818
const int BUFFER_SIZE = 1024;
1919

20-
protected IConnectionConfigurationValues _ConnectionSettings { get; set; }
21-
private Semaphore _ResourceLock;
20+
protected IConnectionConfigurationValues ConnectionSettings { get; set; }
21+
private readonly Semaphore _resourceLock;
2222
private readonly bool _enableTrace;
2323

2424
static HttpConnection()
@@ -33,11 +33,11 @@ public HttpConnection(IConnectionConfigurationValues settings)
3333
if (settings == null)
3434
throw new ArgumentNullException("settings");
3535

36-
this._ConnectionSettings = settings;
36+
this.ConnectionSettings = settings;
3737
if (settings.MaximumAsyncConnections > 0)
3838
{
3939
var semaphore = Math.Max(1, settings.MaximumAsyncConnections);
40-
this._ResourceLock = new Semaphore(semaphore, semaphore);
40+
this._resourceLock = new Semaphore(semaphore, semaphore);
4141
}
4242
this._enableTrace = settings.TraceEnabled;
4343
}
@@ -137,11 +137,11 @@ protected virtual HttpWebRequest CreateHttpWebRequest(Uri uri, string method, by
137137

138138
private void SetProxyIfNeeded(HttpWebRequest myReq)
139139
{
140-
if (!string.IsNullOrEmpty(this._ConnectionSettings.ProxyAddress))
140+
if (!string.IsNullOrEmpty(this.ConnectionSettings.ProxyAddress))
141141
{
142142
var proxy = new WebProxy();
143-
var uri = new Uri(this._ConnectionSettings.ProxyAddress);
144-
var credentials = new NetworkCredential(this._ConnectionSettings.ProxyUsername, this._ConnectionSettings.ProxyPassword);
143+
var uri = new Uri(this.ConnectionSettings.ProxyAddress);
144+
var credentials = new NetworkCredential(this.ConnectionSettings.ProxyUsername, this.ConnectionSettings.ProxyPassword);
145145
proxy.Address = uri;
146146
proxy.Credentials = credentials;
147147
myReq.Proxy = proxy;
@@ -174,7 +174,7 @@ protected virtual HttpWebRequest CreateWebRequest(Uri uri, string method, byte[]
174174
myReq.Accept = requestSpecificConfig.AcceptsContentType;
175175
myReq.ContentType = requestSpecificConfig.AcceptsContentType;
176176
}
177-
var timeout = this._ConnectionSettings.Timeout;
177+
var timeout = this.ConnectionSettings.Timeout;
178178
myReq.Timeout = timeout; // 1 minute timeout.
179179
myReq.ReadWriteTimeout = timeout; // 1 minute timeout.
180180
myReq.Method = method;
@@ -226,32 +226,32 @@ private ElasticsearchResponse<Stream> HandleWebException(byte[] data, WebExcepti
226226
cs = WebToElasticsearchResponse(data, httpEx.GetResponseStream(), httpEx, method, path);
227227
return cs;
228228
}
229-
cs = ElasticsearchResponse<Stream>.CreateError(this._ConnectionSettings, webException, method, path, data);
229+
cs = ElasticsearchResponse<Stream>.CreateError(this.ConnectionSettings, webException, method, path, data);
230230
return cs;
231231
}
232232

233233
private ElasticsearchResponse<Stream> WebToElasticsearchResponse(byte[] data, Stream responseStream, HttpWebResponse response, string method, string path)
234234
{
235-
ElasticsearchResponse<Stream> cs = ElasticsearchResponse<Stream>.Create(this._ConnectionSettings, (int)response.StatusCode, method, path, data);
235+
ElasticsearchResponse<Stream> cs = ElasticsearchResponse<Stream>.Create(this.ConnectionSettings, (int)response.StatusCode, method, path, data);
236236
cs.Response = responseStream;
237237
return cs;
238238
}
239239

240240
protected virtual Task<ElasticsearchResponse<Stream>> DoAsyncRequest(HttpWebRequest request, byte[] data = null, IRequestConnectionConfiguration requestSpecificConfig = null)
241241
{
242242
var tcs = new TaskCompletionSource<ElasticsearchResponse<Stream>>();
243-
if (this._ConnectionSettings.MaximumAsyncConnections <= 0
244-
|| this._ResourceLock == null)
243+
if (this.ConnectionSettings.MaximumAsyncConnections <= 0
244+
|| this._resourceLock == null)
245245
return this.CreateIterateTask(request, data, requestSpecificConfig, tcs);
246246

247-
var timeout = this._ConnectionSettings.Timeout;
247+
var timeout = this.ConnectionSettings.Timeout;
248248
var path = request.RequestUri.ToString();
249249
var method = request.Method;
250-
if (!this._ResourceLock.WaitOne(timeout))
250+
if (!this._resourceLock.WaitOne(timeout))
251251
{
252252
var m = "Could not start the operation before the timeout of " + timeout +
253253
"ms completed while waiting for the semaphore";
254-
var cs = ElasticsearchResponse<Stream>.CreateError(this._ConnectionSettings, new TimeoutException(m), method, path, data);
254+
var cs = ElasticsearchResponse<Stream>.CreateError(this.ConnectionSettings, new TimeoutException(m), method, path, data);
255255
tcs.SetResult(cs);
256256
return tcs.Task;
257257
}
@@ -261,7 +261,7 @@ protected virtual Task<ElasticsearchResponse<Stream>> DoAsyncRequest(HttpWebRequ
261261
}
262262
finally
263263
{
264-
this._ResourceLock.Release();
264+
this._resourceLock.Release();
265265
}
266266
}
267267

@@ -273,7 +273,7 @@ private Task<ElasticsearchResponse<Stream>> CreateIterateTask(HttpWebRequest req
273273

274274
private IEnumerable<Task> _AsyncSteps(HttpWebRequest request, TaskCompletionSource<ElasticsearchResponse<Stream>> tcs, byte[] data, object requestSpecificConfig)
275275
{
276-
var timeout = this._ConnectionSettings.Timeout;
276+
var timeout = this.ConnectionSettings.Timeout;
277277

278278
var state = new ConnectionState { Connection = request };
279279

@@ -309,7 +309,7 @@ private IEnumerable<Task> _AsyncSteps(HttpWebRequest request, TaskCompletionSour
309309
//Since we expose the stream we let closing the stream determining when to close the connection
310310
var response = (HttpWebResponse)getResponse.Result;
311311
var responseStream = response.GetResponseStream();
312-
var cs = ElasticsearchResponse<Stream>.Create(this._ConnectionSettings, (int)response.StatusCode, method, path, data);
312+
var cs = ElasticsearchResponse<Stream>.Create(this.ConnectionSettings, (int)response.StatusCode, method, path, data);
313313
cs.Response = responseStream;
314314
tcs.TrySetResult(cs);
315315
}
@@ -332,7 +332,7 @@ public void Iterate<T>(HttpWebRequest request, byte[] data, IEnumerable<Task> as
332332
var path = request.RequestUri.ToString();
333333
var method = request.Method;
334334

335-
var response = ElasticsearchResponse<T>.CreateError(this._ConnectionSettings, exception, method, path, data);
335+
var response = ElasticsearchResponse<T>.CreateError(this.ConnectionSettings, exception, method, path, data);
336336
tcs.SetResult(response);
337337
}
338338
else

src/Elasticsearch.Net/Connection/InMemoryConnection.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ private ElasticsearchResponse<Stream> ReturnConnectionStatus(HttpWebRequest requ
3333
var method = request.Method;
3434
var path = request.RequestUri.ToString();
3535

36-
var cs = ElasticsearchResponse<Stream>.Create(this._ConnectionSettings, 200, method, path, data);
36+
var cs = ElasticsearchResponse<Stream>.Create(this.ConnectionSettings, 200, method, path, data);
3737
cs.Response = new MemoryStream(_fixedResultBytes);
3838
return cs;
3939
}

src/Elasticsearch.Net/Connection/Transport.cs

+30-30
Original file line numberDiff line numberDiff line change
@@ -12,22 +12,22 @@
1212
using Elasticsearch.Net.Exceptions;
1313
using Elasticsearch.Net.Providers;
1414
using Elasticsearch.Net.Serialization;
15-
using PUrify;
15+
using PurifyNet;
1616

1717
namespace Elasticsearch.Net.Connection
1818
{
1919
public class Transport : ITransport
2020
{
2121
protected static readonly string MaxRetryExceptionMessage = "Unable to perform request: '{0} {1}' on any of the nodes after retrying {2} times.";
22-
protected internal readonly IConnectionConfigurationValues _configurationValues;
23-
protected internal readonly IConnection _connection;
24-
protected internal readonly IElasticsearchSerializer _serializer;
22+
protected internal readonly IConnectionConfigurationValues ConfigurationValues;
23+
protected internal readonly IConnection Connection;
24+
private readonly IElasticsearchSerializer _serializer;
2525

2626
private readonly IConnectionPool _connectionPool;
2727
private readonly IDateTimeProvider _dateTimeProvider;
2828
private DateTime? _lastSniff;
2929

30-
public IConnectionConfigurationValues Settings { get { return _configurationValues; } }
30+
public IConnectionConfigurationValues Settings { get { return ConfigurationValues; } }
3131
public IElasticsearchSerializer Serializer { get { return _serializer; } }
3232

3333
public Transport(
@@ -37,10 +37,10 @@ public Transport(
3737
IDateTimeProvider dateTimeProvider = null
3838
)
3939
{
40-
this._configurationValues = configurationValues;
41-
this._connection = connection ?? new HttpConnection(configurationValues);
40+
this.ConfigurationValues = configurationValues;
41+
this.Connection = connection ?? new HttpConnection(configurationValues);
4242
this._serializer = serializer ?? new ElasticsearchDefaultSerializer();
43-
this._connectionPool = this._configurationValues.ConnectionPool;
43+
this._connectionPool = this.ConfigurationValues.ConnectionPool;
4444

4545
this._dateTimeProvider = dateTimeProvider ?? new DateTimeProvider();
4646

@@ -58,7 +58,7 @@ public virtual bool Ping(Uri baseUri)
5858
var requestOverrides = new RequestConnectionConfiguration()
5959
.ConnectTimeout(pingTimeout)
6060
.RequestTimeout(pingTimeout);
61-
var response = this._connection.HeadSync(CreateUriToPath(baseUri, ""), requestOverrides);
61+
var response = this.Connection.HeadSync(CreateUriToPath(baseUri, ""), requestOverrides);
6262
if (response.Response == null) return false;
6363
using(response.Response)
6464
return response.Success;
@@ -71,7 +71,7 @@ public virtual Task<bool> PingAsync(Uri baseUri)
7171
.ConnectTimeout(pingTimeout)
7272
.RequestTimeout(pingTimeout);
7373

74-
return this._connection.Head(CreateUriToPath(baseUri, ""), requestOverrides)
74+
return this.Connection.Head(CreateUriToPath(baseUri, ""), requestOverrides)
7575
.ContinueWith(t=>
7676
{
7777
var response = t.Result;
@@ -123,7 +123,7 @@ public virtual void SniffClusterState()
123123

124124
private void SniffIfInformationIsTooOld(int retried)
125125
{
126-
var sniffLifeSpan = this._configurationValues.SniffInformationLifeSpan;
126+
var sniffLifeSpan = this.ConfigurationValues.SniffInformationLifeSpan;
127127
var now = this._dateTimeProvider.Now();
128128
if (retried == 0 && this._lastSniff.HasValue &&
129129
sniffLifeSpan.HasValue && sniffLifeSpan.Value < (now - this._lastSniff.Value))
@@ -140,7 +140,7 @@ private int GetMaximumRetries(IRequestConfiguration requestConfiguration)
140140
if (requestConfiguration != null && requestConfiguration.MaxRetries.HasValue)
141141
return requestConfiguration.MaxRetries.Value;
142142

143-
return this._configurationValues.MaxRetries.GetValueOrDefault(this._connectionPool.MaxRetries);
143+
return this.ConfigurationValues.MaxRetries.GetValueOrDefault(this._connectionPool.MaxRetries);
144144
}
145145

146146
private bool SniffingDisabled(IRequestConfiguration requestConfiguration)
@@ -183,7 +183,7 @@ private ElasticsearchResponse<T> DoRequest<T>(TransportRequestState<T> requestSt
183183
try
184184
{
185185
if (shouldPingHint
186-
&& !this._configurationValues.DisablePings
186+
&& !this.ConfigurationValues.DisablePings
187187
&& (requestState.RequestConfiguration == null
188188
|| !requestState.RequestConfiguration.PingDisabled.GetValueOrDefault(false))
189189
)
@@ -249,10 +249,10 @@ private ElasticsearchResponse<T> RetryRequest<T>(TransportRequestState<T> reques
249249
var maxRetries = this.GetMaximumRetries(requestState.RequestConfiguration);
250250
var exceptionMessage = MaxRetryExceptionMessage.F(requestState.Method, requestState.Path.IsNullOrEmpty() ? "/" : "", retried);
251251

252-
this._connectionPool.MarkDead(baseUri, this._configurationValues.DeadTimeout, this._configurationValues.MaxDeadTimeout);
252+
this._connectionPool.MarkDead(baseUri, this.ConfigurationValues.DeadTimeout, this.ConfigurationValues.MaxDeadTimeout);
253253

254254
if (!SniffingDisabled(requestState.RequestConfiguration)
255-
&& this._configurationValues.SniffsOnConnectionFault
255+
&& this.ConfigurationValues.SniffsOnConnectionFault
256256
&& retried == 0)
257257
this.SniffClusterState();
258258

@@ -265,14 +265,14 @@ private ElasticsearchResponse<Stream> _doRequest(string method, Uri uri, byte[]
265265
{
266266
switch (method.ToLowerInvariant())
267267
{
268-
case "post": return this._connection.PostSync(uri, postData, requestSpecificConfig);
269-
case "put": return this._connection.PutSync(uri, postData, requestSpecificConfig);
270-
case "head": return this._connection.HeadSync(uri, requestSpecificConfig);
271-
case "get": return this._connection.GetSync(uri, requestSpecificConfig);
268+
case "post": return this.Connection.PostSync(uri, postData, requestSpecificConfig);
269+
case "put": return this.Connection.PutSync(uri, postData, requestSpecificConfig);
270+
case "head": return this.Connection.HeadSync(uri, requestSpecificConfig);
271+
case "get": return this.Connection.GetSync(uri, requestSpecificConfig);
272272
case "delete":
273273
return postData == null || postData.Length == 0
274-
? this._connection.DeleteSync(uri, requestSpecificConfig)
275-
: this._connection.DeleteSync(uri, postData, requestSpecificConfig);
274+
? this.Connection.DeleteSync(uri, requestSpecificConfig)
275+
: this.Connection.DeleteSync(uri, postData, requestSpecificConfig);
276276
}
277277
throw new Exception("Unknown HTTP method " + method);
278278
}
@@ -310,7 +310,7 @@ private Task<ElasticsearchResponse<T>> DoRequestAsync<T>(TransportRequestState<T
310310

311311
var uri = CreateUriToPath(baseUri, requestState.Path);
312312

313-
if (shouldPingHint && !this._configurationValues.DisablePings)
313+
if (shouldPingHint && !this.ConfigurationValues.DisablePings)
314314
{
315315
return this.PingAsync(baseUri)
316316
.ContinueWith(t =>
@@ -351,9 +351,9 @@ private Task<ElasticsearchResponse<T>> RetryRequestAsync<T>(TransportRequestStat
351351
var maxRetries = this.GetMaximumRetries(requestState.RequestConfiguration);
352352
var exceptionMessage = MaxRetryExceptionMessage.F(requestState.Method, requestState.Path, retried);
353353

354-
this._connectionPool.MarkDead(baseUri, this._configurationValues.DeadTimeout, this._configurationValues.MaxDeadTimeout);
354+
this._connectionPool.MarkDead(baseUri, this.ConfigurationValues.DeadTimeout, this.ConfigurationValues.MaxDeadTimeout);
355355

356-
if (this._configurationValues.SniffsOnConnectionFault && retried == 0)
356+
if (this.ConfigurationValues.SniffsOnConnectionFault && retried == 0)
357357
this.SniffClusterState();
358358

359359
if (retried < maxRetries)
@@ -366,14 +366,14 @@ private Task<ElasticsearchResponse<Stream>> _doRequestAsync(string method, Uri u
366366
{
367367
switch (method.ToLowerInvariant())
368368
{
369-
case "head": return this._connection.Head(uri, requestSpecificConfig);
370-
case "get": return this._connection.Get(uri, requestSpecificConfig);
371-
case "post": return this._connection.Post(uri, postData, requestSpecificConfig);
372-
case "put": return this._connection.Put(uri, postData, requestSpecificConfig);
369+
case "head": return this.Connection.Head(uri, requestSpecificConfig);
370+
case "get": return this.Connection.Get(uri, requestSpecificConfig);
371+
case "post": return this.Connection.Post(uri, postData, requestSpecificConfig);
372+
case "put": return this.Connection.Put(uri, postData, requestSpecificConfig);
373373
case "delete":
374374
return postData == null || postData.Length == 0
375-
? this._connection.Delete(uri, requestSpecificConfig)
376-
: this._connection.Delete(uri, postData, requestSpecificConfig);
375+
? this.Connection.Delete(uri, requestSpecificConfig)
376+
: this.Connection.Delete(uri, postData, requestSpecificConfig);
377377
}
378378
throw new Exception("Unknown HTTP method " + method);
379379
}

src/Elasticsearch.Net/ConnectionPool/EndpointState.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ namespace Elasticsearch.Net.ConnectionPool
77
{
88
public class EndpointState
99
{
10-
public int _attempts = -1;
11-
public DateTime date = new DateTime();
10+
public int Attemps = -1;
11+
public DateTime Date = new DateTime();
1212
}
1313
}

src/Elasticsearch.Net/ConnectionPool/SniffingConnectionPool.cs

+2-7
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@ public class SniffingConnectionPool : StaticConnectionPool
1111
{
1212
private readonly ReaderWriterLockSlim _readerWriter = new ReaderWriterLockSlim();
1313

14-
private bool _seenStartup = false;
15-
1614
public override bool AcceptsUpdates { get { return true; } }
1715

1816
public SniffingConnectionPool(
@@ -25,14 +23,11 @@ public SniffingConnectionPool(
2523

2624
public override void UpdateNodeList(IList<Uri> newClusterState, bool fromStartupHint = false)
2725
{
28-
if (fromStartupHint)
29-
this._seenStartup = true;
30-
3126
try
3227
{
3328
this._readerWriter.EnterWriteLock();
34-
this._nodeUris = newClusterState;
35-
this._uriLookup = newClusterState.ToDictionary(k => k, v => new EndpointState());
29+
this.NodeUris = newClusterState;
30+
this.UriLookup = newClusterState.ToDictionary(k => k, v => new EndpointState());
3631
}
3732
finally
3833
{

0 commit comments

Comments
 (0)