diff --git a/Directory.Build.targets b/Directory.Build.targets index fd42380ee..8d162cfd9 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -23,7 +23,7 @@ --> annotations @@ -68,6 +68,11 @@ $(DefineConstants);SUPPORTS_SERVICE_PROVIDER_IN_HTTP_MESSAGE_HANDLER_BUILDER + + $(DefineConstants);SUPPORTS_HTTP_CLIENT_DEFAULT_REQUEST_VERSION + + diff --git a/src/OpenIddict.Validation.SystemNetHttp/OpenIddict.Validation.SystemNetHttp.csproj b/src/OpenIddict.Validation.SystemNetHttp/OpenIddict.Validation.SystemNetHttp.csproj index 1bdc22497..15d257a68 100644 --- a/src/OpenIddict.Validation.SystemNetHttp/OpenIddict.Validation.SystemNetHttp.csproj +++ b/src/OpenIddict.Validation.SystemNetHttp/OpenIddict.Validation.SystemNetHttp.csproj @@ -1,7 +1,7 @@  - net461;netstandard2.0;netstandard2.1 + net461;netcoreapp3.1;net5.0;net6.0;netstandard2.0;netstandard2.1 diff --git a/src/OpenIddict.Validation.SystemNetHttp/OpenIddictValidationSystemNetHttpHandlers.cs b/src/OpenIddict.Validation.SystemNetHttp/OpenIddictValidationSystemNetHttpHandlers.cs index cd1743f31..5149615e6 100644 --- a/src/OpenIddict.Validation.SystemNetHttp/OpenIddictValidationSystemNetHttpHandlers.cs +++ b/src/OpenIddict.Validation.SystemNetHttp/OpenIddictValidationSystemNetHttpHandlers.cs @@ -256,12 +256,16 @@ public async ValueTask HandleAsync(TContext context) } var assembly = typeof(OpenIddictValidationSystemNetHttpOptions).Assembly.GetName(); - using var client = _factory.CreateClient(assembly.Name); + using var client = _factory.CreateClient(assembly.Name!); if (client is null) { throw new InvalidOperationException(SR.GetResourceString(SR.ID0174)); } +#if SUPPORTS_HTTP_CLIENT_DEFAULT_REQUEST_VERSION + // If supported, import the HTTP version from the client instance. + request.Version = client.DefaultRequestVersion; +#endif var response = await client.SendAsync(request, HttpCompletionOption.ResponseContentRead); if (response is null) {