Skip to content
This repository was archived by the owner on Jul 9, 2024. It is now read-only.

Commit daaaebd

Browse files
authored
Merge pull request #238 from microsoft/andrueastman/http2
Fixes errors in NetFramework for http/2 scenarions
2 parents d919307 + 4cf6659 commit daaaebd

File tree

4 files changed

+24
-4
lines changed

4 files changed

+24
-4
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [1.3.11] - 2024-04-19
11+
12+
## Changed
13+
14+
- Fixes default handler for NET framework to unlock HTTP/2 scenarios (https://github.com/microsoft/kiota-http-dotnet/issues/237)
15+
1016
## [1.3.10] - 2024-04-19
1117

1218
## Changed

Microsoft.Kiota.Http.HttpClientLibrary.Tests/KiotaClientFactoryTests.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,13 @@ public void GetDefaultHttpMessageHandlerSetsUpProxy()
7373
var defaultHandler = KiotaClientFactory.GetDefaultHttpMessageHandler(proxy);
7474
// Assert
7575
Assert.NotNull(defaultHandler);
76+
#if NETFRAMEWORK
77+
Assert.IsType<WinHttpHandler>(defaultHandler);
78+
Assert.Equal(proxy, ((WinHttpHandler)defaultHandler).Proxy);
79+
#else
7680
Assert.IsType<HttpClientHandler>(defaultHandler);
7781
Assert.Equal(proxy, ((HttpClientHandler)defaultHandler).Proxy);
82+
#endif
7883

7984
}
8085
}

src/KiotaClientFactory.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,14 @@ public static IList<DelegatingHandler> CreateDefaultHandlers()
8383
/// <returns/>
8484
public static HttpMessageHandler GetDefaultHttpMessageHandler(IWebProxy? proxy = null)
8585
{
86+
#if NETFRAMEWORK
87+
// If custom proxy is passed, the WindowsProxyUsePolicy will need updating
88+
// https://github.com/dotnet/runtime/blob/main/src/libraries/System.Net.Http.WinHttpHandler/src/System/Net/Http/WinHttpHandler.cs#L575
89+
var proxyPolicy = proxy != null ? WindowsProxyUsePolicy.UseCustomProxy : WindowsProxyUsePolicy.UseWinHttpProxy;
90+
return new WinHttpHandler { Proxy = proxy, AutomaticDecompression = DecompressionMethods.None , WindowsProxyUsePolicy = proxyPolicy, SendTimeout = System.Threading.Timeout.InfiniteTimeSpan, ReceiveDataTimeout = System.Threading.Timeout.InfiniteTimeSpan, ReceiveHeadersTimeout = System.Threading.Timeout.InfiniteTimeSpan };
91+
#else
8692
return new HttpClientHandler { Proxy = proxy, AllowAutoRedirect = false };
93+
#endif
8794
}
8895
}
8996
}

src/Microsoft.Kiota.Http.HttpClientLibrary.csproj

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@
77
<AssemblyTitle>Kiota Http Library for dotnet</AssemblyTitle>
88
<Authors>Microsoft</Authors>
99
<!-- NET 5 target to be removed on next major version-->
10-
<TargetFrameworks>netstandard2.0;netstandard2.1;net5.0;net6.0;net8.0</TargetFrameworks>
10+
<TargetFrameworks>netstandard2.0;netstandard2.1;net5.0;net6.0;net8.0;net462</TargetFrameworks>
1111
<LangVersion>latest</LangVersion>
1212
<PublishRepositoryUrl>true</PublishRepositoryUrl>
1313
<PackageIconUrl>http://go.microsoft.com/fwlink/?LinkID=288890</PackageIconUrl>
1414
<RepositoryUrl>https://github.com/microsoft/kiota-http-dotnet</RepositoryUrl>
1515
<PackageProjectUrl>https://aka.ms/kiota/docs</PackageProjectUrl>
1616
<EmbedUntrackedSources>true</EmbedUntrackedSources>
1717
<Deterministic>true</Deterministic>
18-
<VersionPrefix>1.3.10</VersionPrefix>
18+
<VersionPrefix>1.3.11</VersionPrefix>
1919
<VersionSuffix></VersionSuffix>
2020
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
2121
<!-- Enable this line once we go live to prevent breaking changes -->
@@ -48,11 +48,13 @@
4848
</ItemGroup>
4949

5050
<!-- NET 5 target to be removed on next major version-->
51-
<ItemGroup Condition="'$(TargetFramework)' == 'net5.0' or '$(TargetFramework)'== 'netStandard2.0' or '$(TargetFramework)' == 'netStandard2.1'">
51+
<ItemGroup Condition="'$(TargetFramework)' == 'net5.0' or '$(TargetFramework)'== 'netStandard2.0' or '$(TargetFramework)' == 'netStandard2.1' or '$(TargetFramework)' == 'net462'">
5252
<PackageReference Include="System.Diagnostics.DiagnosticSource" Version="[6.0,9.0)" />
5353
<PackageReference Include="System.Text.Json" Version="[6.0,9.0)" />
5454
</ItemGroup>
55-
55+
<ItemGroup Condition="'$(TargetFramework)' == 'net462'">
56+
<PackageReference Include="System.Net.Http.WinHttpHandler" Version="[6.0,9.0)" />
57+
</ItemGroup>
5658
<ItemGroup>
5759
<ProjectReference Include="..\Kiota.Generated\KiotaGenerated.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false" />
5860
</ItemGroup>

0 commit comments

Comments
 (0)