Skip to content

Commit 83bf88b

Browse files
committed
expose only read-only collection from HttpClientHandlerEx
1 parent 0fee7cf commit 83bf88b

1 file changed

Lines changed: 6 additions & 4 deletions

File tree

Simple.HttpClientFactory/MessageHandlers/HttpClientHandlerEx.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@ namespace Simple.HttpClientFactory.MessageHandlers
1212
//note: Easy.Common is licensed with MIT License (https://github.com/NimaAra/Easy.Common/blob/master/LICENSE)
1313
public class HttpClientHandlerEx : HttpClientHandler
1414
{
15-
public readonly HashSet<UriCacheKey> AlreadySeenAddresses = new HashSet<UriCacheKey>();
15+
private readonly HashSet<UriCacheKey> _alreadySeenAddresses = new HashSet<UriCacheKey>();
16+
17+
public IReadOnlyCollection<UriCacheKey> AlreadySeenAddresses => _alreadySeenAddresses;
1618

1719
protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
1820
{
@@ -31,13 +33,13 @@ private void EnsureConnectionLeaseTimeout(Uri endpoint)
3133
if (!endpoint.IsAbsoluteUri) { return; }
3234

3335
var key = new UriCacheKey(endpoint);
34-
lock (AlreadySeenAddresses)
36+
lock (_alreadySeenAddresses)
3537
{
36-
if (AlreadySeenAddresses.Contains(key)) { return; }
38+
if (_alreadySeenAddresses.Contains(key)) { return; }
3739

3840
ServicePointManager.FindServicePoint(endpoint)
3941
.ConnectionLeaseTimeout = (int)Constants.ConnectionLifeTime.TotalMilliseconds;
40-
AlreadySeenAddresses.Add(key);
42+
_alreadySeenAddresses.Add(key);
4143
}
4244
}
4345

0 commit comments

Comments
 (0)