Skip to content

Commit 8b15615

Browse files
committed
Update to .NET 8
1 parent 7899d63 commit 8b15615

11 files changed

+38
-72
lines changed

Elasticstretch.DependencyInjection.Example/Elasticstretch.DependencyInjection.Example.csproj

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

33
<PropertyGroup>
44
<OutputType>Exe</OutputType>
5-
<TargetFramework>net7.0</TargetFramework>
5+
<TargetFramework>net8.0</TargetFramework>
66
<ImplicitUsings>enable</ImplicitUsings>
77
<Nullable>enable</Nullable>
88
<IsPackable>false</IsPackable>

Elasticstretch.DependencyInjection.Example/Program.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using Elastic.Clients.Elasticsearch;
2+
23
using Microsoft.Extensions.Configuration;
34
using Microsoft.Extensions.DependencyInjection;
45
using Microsoft.Extensions.Logging;

Elasticstretch.DependencyInjection/Elasticstretch.DependencyInjection.csproj

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net6.0</TargetFramework>
5-
<LangVersion>11.0</LangVersion>
4+
<TargetFramework>net8.0</TargetFramework>
65
<ImplicitUsings>enable</ImplicitUsings>
76
<Nullable>enable</Nullable>
8-
<AnalysisLevel>7-all</AnalysisLevel>
7+
<AnalysisMode>all</AnalysisMode>
98
<GenerateDocumentationFile>true</GenerateDocumentationFile>
9+
<RootNamespace>Elastic.Clients.Elasticsearch</RootNamespace>
1010
</PropertyGroup>
1111

1212
<PropertyGroup>
1313
<Authors>Kyle McClellan</Authors>
14-
<Copyright>%A9 2023 Kyle McClellan</Copyright>
14+
<Copyright>%A9 2023-2025 Kyle McClellan</Copyright>
1515
<PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
1616
<Description>An extension of Elastic.Clients.Elasticsearch for use with Microsoft.Extensions.DependencyInjection (and friends).</Description>
1717
<PackageTags>elasticsearch;elastic;search;dependencyinjection;di;ioc</PackageTags>
@@ -27,10 +27,10 @@
2727

2828
<ItemGroup>
2929
<PackageReference Include="Elastic.Clients.Elasticsearch" Version="[8.9.*,8.12)" />
30-
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="7.0.*" />
31-
<PackageReference Include="Microsoft.Extensions.Http" Version="7.0.*" />
32-
<PackageReference Include="Microsoft.Extensions.Options" Version="7.0.*" />
33-
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="7.0.*" />
30+
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="8.0.*" />
31+
<PackageReference Include="Microsoft.Extensions.Http" Version="8.0.*" />
32+
<PackageReference Include="Microsoft.Extensions.Options" Version="8.0.*" />
33+
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="8.0.*" />
3434
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="*" PrivateAssets="All" />
3535
</ItemGroup>
3636

Elasticstretch.DependencyInjection/ElasticstretchServiceCollectionExtensions.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
namespace Elastic.Clients.Elasticsearch;
22

33
using Elastic.Clients.Elasticsearch.Options;
4+
45
using Microsoft.Extensions.DependencyInjection;
56
using Microsoft.Extensions.DependencyInjection.Extensions;
67
using Microsoft.Extensions.Options;

Elasticstretch.DependencyInjection/Options/ConfigureClientFromNodes.cs

Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,13 @@
33
using Microsoft.Extensions.Http;
44
using Microsoft.Extensions.Options;
55

6-
sealed class ConfigureClientFromNodes
7-
: ConfigureOptionsFromOptions<ElasticsearchClientOptions, ElasticsearchNodeOptions>
6+
sealed class ConfigureClientFromNodes(
7+
IServiceProvider provider,
8+
IOptionsFactory<ElasticsearchNodeOptions> nodeOptions,
9+
IOptionsMonitor<HttpClientFactoryOptions> httpOptions,
10+
IEnumerable<IHttpMessageHandlerBuilderFilter> httpFilters)
11+
: ConfigureOptionsFromOptions<ElasticsearchClientOptions, ElasticsearchNodeOptions>(nodeOptions)
812
{
9-
readonly IServiceProvider _provider;
10-
readonly IOptionsMonitor<HttpClientFactoryOptions> _httpOptions;
11-
readonly IEnumerable<IHttpMessageHandlerBuilderFilter> _httpFilters;
12-
13-
public ConfigureClientFromNodes(
14-
IServiceProvider provider,
15-
IOptionsFactory<ElasticsearchNodeOptions> nodeOptions,
16-
IOptionsMonitor<HttpClientFactoryOptions> httpOptions,
17-
IEnumerable<IHttpMessageHandlerBuilderFilter> httpFilters)
18-
: base(nodeOptions)
19-
{
20-
_provider = provider;
21-
_httpOptions = httpOptions;
22-
_httpFilters = httpFilters;
23-
}
24-
2513
protected override void Configure(ElasticsearchClientOptions options, ElasticsearchNodeOptions dependency)
2614
{
2715
if (dependency.CredentialsHeader != null)
@@ -31,6 +19,6 @@ protected override void Configure(ElasticsearchClientOptions options, Elasticsea
3119

3220
var fallback = options.NodePool;
3321
options.NodePool = () => dependency.CreatePool() ?? fallback();
34-
options.Connection = () => new HttpFactoryClient(_provider, _httpOptions, _httpFilters);
22+
options.Connection = () => new HttpFactoryClient(provider, httpOptions, httpFilters);
3523
}
3624
}

Elasticstretch.DependencyInjection/Options/ConfigureCredentialsFromConfig.cs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,8 @@
33
using Microsoft.Extensions.Configuration;
44
using Microsoft.Extensions.Options;
55

6-
sealed class ConfigureCredentialsFromConfig : ConfigureFromConfigurationOptions<ElasticsearchCredentialOptions>
6+
sealed class ConfigureCredentialsFromConfig(IConfiguration config)
7+
: ConfigureFromConfigurationOptions<ElasticsearchCredentialOptions>(config.GetSection(Path))
78
{
8-
public ConfigureCredentialsFromConfig(IConfiguration config)
9-
: base(config.GetSection(ConfigurationPath.Combine("Elasticsearch", "Credentials")))
10-
{
11-
}
9+
public static readonly string Path = ConfigurationPath.Combine("Elasticsearch", "Credentials");
1210
}

Elasticstretch.DependencyInjection/Options/ConfigureNodesFromConfig.cs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,8 @@
33
using Microsoft.Extensions.Configuration;
44
using Microsoft.Extensions.Options;
55

6-
sealed class ConfigureNodesFromConfig : ConfigureFromConfigurationOptions<ElasticsearchNodeOptions>
6+
sealed class ConfigureNodesFromConfig(IConfiguration config)
7+
: ConfigureFromConfigurationOptions<ElasticsearchNodeOptions>(config.GetSection(Path))
78
{
8-
public ConfigureNodesFromConfig(IConfiguration config)
9-
: base(config.GetSection("Elasticsearch"))
10-
{
11-
}
9+
public const string Path = "Elasticsearch";
1210
}

Elasticstretch.DependencyInjection/Options/ConfigureNodesFromCredentials.cs

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,9 @@
22

33
using Microsoft.Extensions.Options;
44

5-
sealed class ConfigureNodesFromCredentials
6-
: ConfigureOptionsFromOptions<ElasticsearchNodeOptions, ElasticsearchCredentialOptions>
5+
sealed class ConfigureNodesFromCredentials(IOptionsFactory<ElasticsearchCredentialOptions> optionsFactory)
6+
: ConfigureOptionsFromOptions<ElasticsearchNodeOptions, ElasticsearchCredentialOptions>(optionsFactory)
77
{
8-
public ConfigureNodesFromCredentials(IOptionsFactory<ElasticsearchCredentialOptions> optionsFactory)
9-
: base(optionsFactory)
10-
{
11-
}
12-
138
protected override void Configure(ElasticsearchNodeOptions options, ElasticsearchCredentialOptions dependency)
149
{
1510
var credentials = dependency.CreateHeader();

Elasticstretch.DependencyInjection/Options/ConfigureOptionsFromOptions.cs

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,10 @@
22

33
using Microsoft.Extensions.Options;
44

5-
internal abstract class ConfigureOptionsFromOptions<TOptions, TDep> : IConfigureNamedOptions<TOptions>
5+
internal abstract class ConfigureOptionsFromOptions<TOptions, TDep>(IOptionsFactory<TDep> optionsFactory) : IConfigureNamedOptions<TOptions>
66
where TOptions : class
77
where TDep : class
88
{
9-
private readonly IOptionsFactory<TDep> optionsFactory;
10-
11-
public ConfigureOptionsFromOptions(IOptionsFactory<TDep> optionsFactory)
12-
{
13-
this.optionsFactory = optionsFactory;
14-
}
15-
169
public void Configure(string? name, TOptions options)
1710
{
1811
Configure(options, optionsFactory.Create(name ?? Options.DefaultName));

Elasticstretch.DependencyInjection/Options/ElasticsearchNodeOptions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public class ElasticsearchNodeOptions
2121
/// <remarks>
2222
/// Incompatible with <see cref="CloudId"/>.
2323
/// </remarks>
24-
public ICollection<Uri> NodeUris { get; } = new List<Uri>();
24+
public ICollection<Uri> NodeUris { get; } = [];
2525

2626
/// <summary>
2727
/// Gets or sets whether "sticky" node selection is used (e.g. <see cref="StickyNodePool"/>).

0 commit comments

Comments
 (0)