Skip to content

Commit 1ba774f

Browse files
committed
Made HttpRequestMessageExtensions compatible with .NET Framework
1 parent 0f626e5 commit 1ba774f

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

StandardSocketsHttpHandler/Net/Http/Extensions/HttpRequestMessageExtensions.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ internal static class HttpRequestMessageExtensions
88
{
99
public static bool HasHeaders(this HttpRequestMessage request)
1010
{
11-
string headersFieldName = "_headers";
11+
// Note: The field name is _headers in .NET core
12+
string headersFieldName = RuntimeUtils.IsDotNetFramework() ? "headers" : "_headers";
1213
FieldInfo headersField = typeof(HttpRequestMessage).GetField(headersFieldName, BindingFlags.Instance | BindingFlags.NonPublic);
1314
HttpRequestHeaders headers = (HttpRequestHeaders)headersField.GetValue(request);
1415
return headers != null;
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
using System.Runtime.InteropServices;
2+
3+
namespace System
4+
{
5+
internal class RuntimeUtils
6+
{
7+
public static bool IsDotNetFramework()
8+
{
9+
const string DotnetFrameworkDescription = ".NET Framework";
10+
string frameworkDescription = RuntimeInformation.FrameworkDescription;
11+
return frameworkDescription.StartsWith(DotnetFrameworkDescription);
12+
}
13+
}
14+
}

0 commit comments

Comments
 (0)